值从JavaScript数组数据我有一个JavaScript数组 myArray = [{'id':'73','data':'SampleData 1'},{'id':'45','data':'SampleData 2'}];
获取使用的关键
通过提供这种阵列的id
作为45
我怎样才能得到SampleData 2
为data
。
请帮忙。提前致谢。
值从JavaScript数组数据我有一个JavaScript数组 myArray = [{'id':'73','data':'SampleData 1'},{'id':'45','data':'SampleData 2'}];
获取使用的关键
通过提供这种阵列的id
作为45
我怎样才能得到SampleData 2
为data
。
请帮忙。提前致谢。
这应该为你做。测试片段,你会看到警报运行。有更好的方法来做到这一点,但这种方法很简单,不需要任何东西,但JavaScript。
data = [{"id": 45, "thing": "asdf"}, {"id": 32, "thing": "jkl"}];
for (i=0; i<data.length; i++) {
if (data[i].id == 45) {
alert("Found the object with id of 45, alerting 'thing' property");
alert(data[i].thing);
}
}
通过筛选你想要的ID数组,你会得到与信息进行过滤对象的数组。
const [myItem] = myArray.filter(item => item.id === 45);
在上述代码中,myItem
将{'id':'45','data':'SampleData 2'}
。你可以更进一步,做:
const [{ data: myItemsData }] = myArray.filter(item => item.id === 45);
在这种情况下,myItemsData
将'SampleData 2'
。
由于@torazaburo指出的那样,你可以使用:
const { data: myItemsData } = myArray.find(item => item.id === 45);
你为什么用'filter'而不是'find'? – 2016-11-26 03:09:50
@torazaburo旧习惯。 [Array#filter](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/filter)比[Array#find](https:// developer .mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/filter) – David
任何支持解构赋值的环境都会有'find'。 – 2016-11-26 03:11:52
使用for循环和if语句的?你知道如何遍历数组吗? – qxz
你有什么尝试?有很多方法可以做到这一点,像[underscore](http://underscorejs.org/)这样的库提供的方法可以完全满足你的要求。 – chazsolo