我有两个这样的数组,
arr1 = ['20', 'annL', 'annT', '25', 'annL', 'annT', '44', 'annL', 'annT']
arr2 = ['2013-11-29','50','annL','annT', '20','annL','annT', '25','annL','annT', '44','annL','annT', '96','annL','annT', '26','annL','annT', '10','annL','annT']
我想从arr2中删除arr1元素。
我用过了,
array.splice()
但无法解决问题
请帮我,
谢谢。
最佳答案
使用过滤器
Array.prototype.difference = function(arr) {
return this.filter(function(i) {return (arr.indexOf(i) == -1);});
}
用法
arr2.difference(arr1);
[1,2,3,4].difference([1,2])
// => [3,4]
边注
我认为它在咖啡脚本中看起来也很漂亮:
Array::difference = (arr) ->
@filter (i) ->
arr.indexOf(i) is -1