在javascript中按另一个数组过滤多维数组

时间:2013-06-14 12:49:32

标签: javascript multidimensional-array filter

我正在尝试从另一个数组中过滤数组:

我有第一个阵列:

var json = [["ID1", "Person1", "10"], ["ID2", "Person2", "20.0"], ["ID3", "Person3", "50.0"], ["ID4", "Person4", "40.0"]];

我的过滤器数组:(未订购);

var filter = ["ID4", "ID1"]; 

我希望得到的结果:

var json = [["ID1", "Person1", "10"], ["ID4", "Person4", "40.0"]];

var json = [["ID4", "Person4", "40"], ["ID1", "Person1", "10.0"]];

1 个答案:

答案 0 :(得分:2)

你可以做到

json = json.filter(function(v) { return filter.indexOf(v[0])!==-1 })

但是我建议你避免将json命名为不包含某些JSON的变量。

如果您想与IE8兼容,我建议您use a shim for filterindexOf或仅使用2 for次循环进行迭代。