Jquery在数组中查找值,然后从中返回片段

时间:2013-08-13 21:47:39

标签: javascript jquery loops

我循环遍历事务列表并将值推送到数组。

autoArry.push({ 
   id: countTxns,
   txnID: txnID,
   account: buyersAccount
});
doSomething();

function doSomething(){

   var newData = '1234,4567,5678,8900';

  //Loop Here

}

我需要使用newData循环遍历autoArry。当我的newData匹配时 在数组中的txnID,然后我需要访问与其对应的帐号。

在数组中查找值然后访问与该块绑定的所有值的最佳方法是什么?

2 个答案:

答案 0 :(得分:0)

使用i = 0的循环到autoArry.length - 1,如果autoArry [i] [txnID] = newData,则获取autoArry [i] [account]的值并放入所需的变量中。我希望这就是你想要的。

答案 1 :(得分:0)

您可以使用grepmap来实现此目的。

//create a map for fast lookups
var newDataMap = {};

$.each('1234,4567,5678,8900'.split(','), function (index, item) {
    newDataMap[item] = true;
});

console.log($.map($.grep(autoArray, function (item) {
    return !!newDataMap[item.txnID];
}), function (item) {
    return item.buyersAccount;
}));

在香草JS中:

var newDataMap = {};

'1234,4567,5678,8900'.split(',').forEach(function (item) {
    newDataMap[item] = true;
});

console.log(autoArray.filter(function (item) {
    return !!newDataMap[item.txnID];
}).map(function (item) {
    return item.buyersAccount
}));