Mam wiele pól wprowadzania, które próbuję zapisać nazwy w tablicy. Obecnie używam tego, aby uzyskać nazwy:
var getImplementedNames = function (selector){
$(selector).each(function() {
console.log($( this ).attr("name").replace("imp-", ""));
});
}
console.log(getImplementedNames("[id^=imp]"));
To działa, ale teraz chciałbym dodać wszystkie wyniki do tablicy. Próbowałem;
var array = [getImplementedNames("[id^=imp]")];
console.log(array);
Który zwraca niezdefiniowaną tablicę.
Nie jestem pewien, jak należy to właściwie traktować.
Odpowiedzi:
1 dla odpowiedzi № 1Posługiwać się .mapa()
var getImplementedNames = function (selector) {
return $(selector).map(function () {
return $(this).attr("name").replace("imp-", "");
}).get();
}
stosowanie
console.log(getImplementedNames("[id^=imp]"));
Czytać Zwraca wartość z funkcji w JavaScript
1 dla odpowiedzi nr 2
Twoja funkcja obecnie niczego nie zwraca. Spróbuj:
var getImplementedNames = function (selector){
return $(selector).map(function() {
return $( this ).attr("name").replace("imp-", "");
});
}
console.log(getImplementedNames("[id^=imp]"));