我有一个API请求后返回的对象数组。它采用以下形式:
[{
id: 12,
slug: '050e8e8db93ae08ed46cd57017ef9617',
name: 'Test Badge'
}, {
id: 13,
slug: '78ed09b1f2aae29ab30915ac9f167bfa',
name: 'Test Badge'
}]
我需要测试键
x
上的值slug
,但是我的对象数组长数百个对象。有没有一种方法可以测试一个值而无需手动遍历所有对象? 最佳答案
好吧-您必须循环播放。但至少JavaScript对您有用:
var arr = [
{
id: 12,
slug: '050e8e8db93ae08ed46cd57017ef9617',
name: 'Test Badge'
},
{
id: 13,
slug: '78ed09b1f2aae29ab30915ac9f167bfa',
name: 'Test Badge'
}
];
var arrWithValue = arr.filter(function(el){ return el.slug === value; });
arrWithValue
仅包含具有正确值的数组元素。当您不得不经常访问这些数据时,最好循环一次并使用
slug
作为key
保存每个对象。var sortedObj = {};
for(var i = 0, len = arr.length; i < len; ++i){
sortedObj[arr[i].slug] = arr[i];
}
// access the object with sortedObj['someSlug']
关于javascript - 测试JS数组中的对象,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27907213/