基于多维数组Javascript中的键获取所有值

时间:2014-09-22 07:56:04

标签: javascript jquery arrays multidimensional-array

输入数组:

   [
     Object { 
               kid="16145", 
               tid="5045", 
               kname="best landlord insurance rates", more...
     }, 
     Object { 
            kid="22586", 
            tid="5045", 
            kname="car insurance deals", more...
    }, 
    Object { 
            kid="49004", 
            tid="5045", 
            kname="landlord and tenant insurance", more...
    }
 ]

在上面的数组中,我需要获取所有具有键'kid'的值。

必需输出:

     array(16145,22586,490004);  

**不循环输入数组

使用数组映射或数组搜索或任何其他JS数组/对象函数

感谢。

2 个答案:

答案 0 :(得分:1)

请注意,这不是一个多维数组。它是一个简单的对象数组。

如果所有对象都具有kid属性,那么map就可以轻而易举地使用

var values = theArray.map(function(entry) { return entry.kid; });

如果只有某些对象具有kid属性,则forEach

var values = [];
theArray.forEach(function(entry) {
    if (entry.hasOwnProperty("kid")) {
        values.push(entry.kid);
    }
});

请注意,两个选项都循环遍历数组,这是不可避免的。

答案 1 :(得分:1)

可以是这样的

var newArray = yourArray.map(function(obj) {
    return obj.kid;
});

参考MDN javascript .map