我有一个对象数组,我需要在数组中找到它们的位置,其中关键ecommerce_order_number值与搜索的数字相匹配。返回具有与搜索条件相匹配的关键字的数组的所有索引
我试着做一个for循环,但我可以看到,这不是一个好主意,因为可能有500 +检查即时对阵数字我有这是单独的。
通常我会循环,并获得所有的比赛,并继续离开那里。但林希望有一个更清洁的方法使用香草的JavaScript。
var myTransactions = [];
myTransactions[0].order = 'S17243';
for(i=0; i < myTransactions.length; i++)
{
//
}
但我可以看到我的循环将仅限于事务计数的数量,如果比这确实发生了交易的数量有更多的支付,我将无法获得的各项指标付款数组匹配。
是否有一个函数可以搜索一个对象数组并返回找到的所有键的索引以匹配一个特定的字符串?
var payments= [{
"id": "11419",
"recordtype": "payment",
"cols": {
"entity": {
"name": "Angela smith",
"id": "6641"
},
"account": {
"name": "test-data",
"id": "335"
},
"amount": 3810.2,
"ecommerce_order_number": "S17247",
"datecreated": "10/4/2017 5:42 PM"
}
}, {
"id": "11420",
"recordtype": "payment",
"cols": {
"entity": {
"name": "Paul Georgeson",
"id": "6640"
},
"account": {
"name": "test-data",
"id": "335"
},
"amount": 3539,
"ecommerce_order_number": "S17223",
"datecreated": "10/4/2017 5:42 PM"
}
}, {
"id": "11421",
"recordtype": "payment",
"cols": {
"entity": {
"name": "Leanne Smithy",
"id": "6638"
},
"account": {
"name": "test-data",
"id": "336"
},
"amount": 1617.2,
"ecommerce_order_number": "S17243",
"datecreated": "10/4/2017 5:42 PM"
}
}];
变种IDS = array.reduce((ARR,EL,I)=>(el.sth ===真&& arr.push(i))的|| ARR,[]) –