javascript:基于对象数组创建数组

时间:2015-09-18 16:29:05

标签: javascript arrays

我有以下数组:

var k = {
    a: 67576567,
    b: 567657,
    c: "some",
    d: [
        {src:"b", id:1},
        {src:"c", id:2},
        {src:"d", id:3}
    ]
};

我正在寻找一种方法来获取以下数组而不使用for:

["b", "c", "d"]

我尝试使用过滤器功能,但它总是返回整个对象:

var filtered = k.d.filter(function(value) {
    return value.src;
});

console.log(filtered);

有办法吗?

1 个答案:

答案 0 :(得分:3)

您刚使用了错误的功能。您需要的是Array.map

var arr = k.d.map(function(value) {
    return value.src;
});

Array.map用于根据回调的返回值迭代并输出新数组,而Array.filter只过滤将在回调中返回的假定布尔值的现有数组。 / p>