如何从数组的对象中获取数据
How to get data from objects of an array
我有一个如下的数据结构。。。
[
{name: "coke", price:"10"},
{name: "sprit", price: "20"}
]
我的问题是,我如何根据它的名字得到价格?例如,如何获取焦炭价格?
可以用循环函数来完成
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
}
}
使用您喜欢的任何循环方法(如for
、Array.prototype.forEach
或Array.prototype.filter
)在数组上循环,并测试每个对象的name属性的值,直到找到所需对象为止。然后得到它的value属性。
只需循环遍历数组并获取对象属性。
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);
}
}
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/
您可以循环遍历数组并根据名称获取价格。
请尝试:
(arr.find(function(item){ return item.name === 'coke'}) || {}).price;
或者你可以找到所有名为"可乐"的物品:
arr.filter(function(item){
return item.name === 'coke';
})
相关文章:
- Ajax-如何获取数据
- 从键值结构中获取数据,并将其与AngularJS中ng重复的值进行比较
- 从数据库中获取数据并插入JavaScript变量
- 从单击的行上的列中获取数据
- Solr查询以按日期月份获取数据&年
- React路由器服务器端渲染和ajax获取数据
- 使用JavaScript在IE9中获取数据列表选项
- 从json子数组获取数据
- 使用angularjs中的rest调用通过id获取数据
- 正在从ruby应用程序中的数据库中获取数据
- 如何从servlet获取数据到ajax成功
- 从选择下拉菜单中获取数据
- 异步获取数据使用JavaScript同步获取数据
- 从服务器获取数据并在选择控件中使用ng选项无法显示选项
- 如何在Angular.js中循环动态添加Fields并获取数据并将其发送到服务器
- JavaScript-获取数据属性的值返回未定义的值
- 如何从文本区域获取数据并使用javascript进行解密
- 在put方法之前从作用域获取数据
- 事件循环的MEAN.JS setInterval进程(从另一个服务器获取数据)
- 使用ReactJS和Flux架构从服务器获取数据的正确方法是什么