You don't even need to create a new array and then push into it: just use jQuery's .map() function:
var names = $('[name="ci_claimed_for"]').map(function() {
return $(this).find("option:selected").text());
}).get();
Remember to chain .get() in the end, because it will return a jQuery collection. Use .get() to reference the actual array returned.
Here is a proof-of-concept example:
$(function() {
var names = $('[name="ci_claimed_for"]').map(function() {
return $(this).find("option:selected").text();
}).get();
console.log(names);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select name="ci_claimed_for">
<option value="John" selected>John</option>
<option value="Doe">Doe</option>
</select>
<select name="ci_claimed_for">
<option value="Jane" selected>Jane</option>
<option value="Doe">Doe</option>
</select>