所以,我有多個值的JavaScript數組:如何通過在Javascript
var keymap = {'name': 'foobaz',
'mappings': [{'id': 1, 'key': 'b'},
{'id': 2, 'key': 'c'},
{'id': 3, 'key': 'd'},
{'id': 1, 'key': 'e'},
{'id': 10, 'key': 'f'},
{'id': 7, 'key': 'g'},
{'id': 1, 'key': 'h'}]
}
我想刪除其中的關鍵是「B」的任何條目。請注意,ID對應於後端ID。我想要做的是刪除一些映射(例如,所有的'id'都是'1')。
我已經試過是:
for (var i = 0; i < keymap['mappings'].length; i++) {
if (keymap['mappings'][i]['id'] === id_to_match) {
keyboard_map['mappings'].splice(i, 1);
}
}
然而,切片將改變就地數組的索引,因此現在i
不會指向正確的指數點(如任何指標較高現在將i-n
其中n
將切片數之前完成。
什麼是實現這一正確的方法是什麼?