如果要添加的数组不在数组中,则尝试将数组添加到数组中

时间:2015-07-08 00:07:46

标签: javascript arrays

我真正要做的是在事件发生后添加一个数组,只要该事件发生一次就像按下回车键一样。如果用户继续输入错误的答案,它应该只使用代表问题的数组更新数组一次。如果你可以帮助我this question that deals with more of what i am trying to do会很棒。

如果你无法帮助我,我想知道如果数组不在数组中,如何在事件后插入一个数组。 你能告诉我一些你在数组中搜索数组的代码吗?如果那个数组在里面做什么或什么都不做?

我不明白为什么在下面的代码中我无法搜索数组

function onlyUnique(value, index ,self){
     return self.indexOf(value) === index;
}
  var a =  ['a' , [1], [1],'a']
  var unique = a.filter(onlyUnique)
  console.log(unique)

2 个答案:

答案 0 :(得分:0)

您可以使用关联数组之类的对象。您需要一些方法来确定要链接到答案的问题。

val rows = raw.map(_.split(",")).map(x => Row(x(0).toInt, x(1).toInt))

答案 1 :(得分:0)

没有简单的操作来对对象进行深度比较。但是,您可以尝试将对象转换为JSON并进行比较 - 如果生成的JSON具有相同顺序的对象属性,那么它将生成可以比较的相同字符串:



function onlyUnique(a){
  return a.map(function(v){ return JSON.stringify(v); })
          .sort()
          .filter(function(v,i,a){ return i==0 || v !== a[i-1]; })
          .map(function(v){return JSON.parse(v);});
};

var a =  ['a' , [1], [1],'a']
var unique = onlyUnique(a);
console.log(unique)