Ответ 1
Вы можете сделать это с помощью выражения;
var arr = $.map(stooges, function(o) { return o["name"]; })
Кто-нибудь знает о плагине "pluck", который соответствует методу массива подчеркивания?
pluck_.pluck(list, propertyName)
Удобная версия, пожалуй, наиболее распространенного случая использования для карты: извлечение списка значений свойств.
var stooges = [{name : 'moe', age : 40}, {name : 'larry', age : 50}, {name : 'curly', age : 60}];
_.pluck(stooges, 'name');
=> ["moe", "larry", "curly"]
Сегодня Google не очень помогает мне. Любые указатели очень ценили
Вы можете сделать это с помощью выражения;
var arr = $.map(stooges, function(o) { return o["name"]; })
просто напишите свой собственный
$.pluck = function(arr, key) {
return $.map(arr, function(e) { return e[key]; })
}
Очень просто реализовать эту функциональность самостоятельно:
function pluck(originalArr, prop) {
var newArr = [];
for(var i = 0; i < originalArr.length; i++) {
newArr[i] = originalArr[i][prop];
}
return newArr;
}
Все, что он делает, это перебрать элементы исходного массива (каждый из которых является объектом), получить свойство, указанное вами из этого объекта, и поместить его в новый массив.
В простом случае:
var arr = stooges.map(function(v) { return v.name; });
Более обобщенное:
function pluck(list, propertyName) {
return list.map(function (v) { return v[propertyName]; })
}
Но, IMHO, вы не должны реализовывать его как функцию инструмента, но всегда используйте простой случай.