我有一个具有多个值的数组,如下面的代码所示。
tempstraindatasource
tempstraindatasource[0] = {
A = "0",
B = "1",
C = "2",
D = "3"
}
tempstraindatasource[1] = {
A = "4",
B = "5",
C = "6",
D = "7"
等明智的我在单个数组中存在很多数据 }
我想做一个程序,发现数据是否包含在单行中,就像我想找到名称为#34; A" =" 0"或任何价值" B" =" 0"或" C" =" 0"!我怎么能单行呢?请有人帮助我这样做。
提前致谢并欣赏。
答案 0 :(得分:1)
正如评论中所述,你的问题需要编辑(或更好的完全重写),但我认为你需要的是这个
var fruits = [{name: 'banana', cost: 5}, {name: 'apple', cost:2}];
var filteredArray = fruits.map(function(fruit, index){
fruit.index = index;
return fruit;
}).filter(function(fruit){
return fruit.name === 'banana';
});
document.write(JSON.stringify(filteredArray));

答案 1 :(得分:1)
您可以对数组使用Array#forEach
并检查是否有任何属性具有值,需要Array#some
,然后将索引推送到结果数组。
var data = [{ a: 0, b: 1, c: 2, d: 3 }, { a: 4, b: 5, c: 6, d: 7 }],
indices = [];
data.forEach(function (a, i) {
Object.keys(a).some(function (k) {
return a[k] === 0;
}) && indices.push(i);
});
console.log(indices);