我有一个数组,每次用户点击按钮时都会填充信息。推送到此数组的信息本身就在数组中。所以有类似的东西:
var parentArray = [];
var childArray = ["Info1", "Info2", 500];
$("#button").on("click", function(){
parentArray.push(childArray);
})
每次用户点击按钮时,childArray
将根据不同的用户输入提供不同的信息。例如,用户点击地图上的一个点,childArray
会将某些信息输入其中。用户点击地图上的其他点,childArray
会将某些信息输入其中。每次childArray
不同或相同。然后,用户点击该按钮,childArray
中的信息将被推送到parentArray
。
我的问题是,我希望摆脱childArrays
中的重复parentArray
。所以,假设一个childArray
看起来像这样:
["Info1", "Info2", 25]
另一个子数组如下所示:
["Info1", "Info2", 50]
另一个看起来像这样:
["Info1", "Info2", 25]
我想找出两个childArrays
是否相同,第一个和第三个数组,如果是,则删除除了一个相似的数组之外的所有数组,而不是看起来像这样:
[["Info1", "Info2", 25], ["Info1", "Info2", 50], ["Info1", "Info2", 25]]
我的parentArray
看起来像这样:
[["Info1", "Info2", 25], ["Info1", "Info2", 50]]
有可能实现这一目标吗?如果是这样,我将如何去做呢?
我希望这是有道理的。
答案 0 :(得分:0)
您可以使用filter()
和thisArg
参数
var ar = [["Info1", "Info2", 25], ["Info1", "Info2", 50], ["Info1", "Info2", 25]];
var result = ar.filter(function(e) {
if(!this[e.join('|')]) {
this[e.join('|')] = true;
return e;
}
}, {});
console.log(result);