var arr = [{
name: "abcd",
type: "1 kg"
}, {
name: "efgh",
type: "1 cai"
}, {
name: "ijkl",
type: "1 kg"
}];
如果我知道type
name
所以,
name_function('abcd') will return 1kg
答案 0 :(得分:3)
没有内置函数可以像这样搜索数组。如果要进行映射,通常使用单个对象,而不是对象数组。
var map = {
"abcd": "1 kg",
"efgh": "1 cai",
"ijkl": "1 kg"
};
然后,您可以使用var type = map[name];
获取映射。
答案 1 :(得分:1)
加入Barmar回答。没有内置函数来获取数组对象中的类型。否则,在javascript中使用 for loop
var arr = [{
name: "abcd",
type: "1 kg"
}, {
name: "efgh",
type: "1 cai"
}, {
name: "ijkl",
type: "1 kg"
}];
function getType(val) {
var type;
for (var i=0; i<arr.length; i++) {
if(arr[i].name === val){
type = arr[i].type;
break;
}
}
return type;
}
答案 2 :(得分:0)
您可以尝试filter
console.log( arr.filter( function(x){ if (x.name=="abcd") return true; } ).type );