我有一个类似下面的数据结构......
[
{name: "coke", price:"10"},
{name: "sprit", price: "20"}
]
我的问题是如何根据名称得到价格? 例如,如何获得焦炭价格?
答案 0 :(得分:2)
使用您喜欢的任何循环方法(例如for
,Array.prototype.forEach
或Array.prototype.filter
)遍历数组并测试每个对象的name属性的值,直到找到一个你想要的。然后获取它的value属性。
答案 1 :(得分:2)
可以使用循环函数
var dataArr = [
{name: "coke", price:"10"},
{name: "sprit", price: "20"}
];
for(var i=0;i<dataArr.length;i++){
if(dataArr[i].name == "coke"){
console.log(dataArr[i].price); // prints 10
}
}
答案 2 :(得分:2)
只需遍历数组并获取object属性即可。
var arr = [{name: "coke", price:"10"},{name: "sprit", price: "20"}];
for (var i = 0, len = arr.length; i < len; i++) {
if(arr[i].name === "coke"){
console.log(arr[i].price);
}
}
答案 3 :(得分:0)
请尝试:
(arr.find(function(item){ return item.name === 'coke'}) || {}).price;
或者您可以找到所有名为“可乐”的项目:
arr.filter(function(item){
return item.name === 'coke';
})
答案 4 :(得分:0)
var data = [{
name: "coke",
price: "10"
}, {
name: "sprit",
price: "20"
}];
function getValue(data, name) {
for (let i = 0; i < data.length; i++) {
if (data[i].name === name) {
return data[i].price;
}
}
}
var value = getValue(data, 'coke');
alert(value);
https://jsfiddle.net/ej5ofsxm/
您可以遍历数组并根据名称获取价格。