Я пытаюсь воссоздать функцию подделки Underscore с использованием чистого JS. Тем не менее, я продолжаю получать массив неопределенных значений, а не фактические значения из свойств объектов в массиве.
Проверка другого потока here Я обнаружил, что вы можете воспроизвести его в jQuery со следующим кодом...
$.pluck = function(arr, key) {
return $.map(arr, function(e) { return e[key]; })
}
... однако мне трудно воспроизвести это в чистом JS. Я попробовал следующее, но это просто возвращает массив неопределенных значений для меня.
var pluck = function(arr,key){
var newArr = [];
for (var i = 0, x = arr.length; i < x; i++){
if (arr[i].hasOwnProperty(key)){
newArr.push(arr[i].key)
}
}
return newArr;
}
Итак, целью будет следующее: кроме использования подчеркивания _.pluck просто используйте имя функции JS, например. var pluck = function (arr, key) {...}
var Tuts = [{name : 'NetTuts', niche : 'Web Development'}, {name : 'WPTuts', niche : 'WordPress'}, {name : 'PSDTuts', niche : 'PhotoShop'}, {name : 'AeTuts', niche : 'After Effects'}];
var niches = _.pluck(Tuts, 'niche');
console.log(niches);
// ["Web Development", "WordPress", "PhotoShop", "After Effects"]
Может ли кто-нибудь направить меня в правильном направлении?