我认为我的地图和拔取函数是正确的,但当我试图调用pluck获取“类型”的汽车对象时,它返回一个空数组.?空数组?
更新:谢谢你指出这是我在地图函数中添加的object.....So,但似乎不起作用?出什么事了吗?
function map(collection,iterator){
var result=[];
if(Array.isArray(collection)){
for (var i=0;i<collection.length;i++){
result.push(iterator(collection[i]));
}
}else{
for (var key in collection){
result.push(iterator(collection[key]))};
}
return result;
};
function pluck(collection, key) {
return map(collection, function (value) {
return value[key]
});
}
var car = { type: "Fiat", model: "500", color: "white" };
console.log(pluck(car, function (auto) {
return auto.type;
}));
> the result: [] 发布于 2015-12-07 20:52:25
function map(collection, filter) {
var result = [];
for (var i = 0; i < collection.length; ++i) {
result.push(filter(collection[i]))
}
return result;
}
function pluck(collection, filter) {
return map(collection, filter);
}
var cars = [{type: "Fiat", model: "500", color: "white"}]
var result = pluck(cars, function(auto) {
return auto.type;
})
document.write(JSON.stringify(result))
发布于 2015-12-07 20:51:13
console.log(pluck(car, function (auto) {
return auto.type;
}));应该是
console.log(pluck(car, 'type'));而且,car需要是一个数组。
var car = [{ type: "Fiat", model: "500", color: "white" }];发布于 2015-12-07 20:52:08
你要把这个递给我
var car ={ type:"Fiat",型号:"500",颜色:"white“};
而您的map函数需要数组。
如果要传递对象,请使用for-in循环。
https://stackoverflow.com/questions/34142875
复制相似问题