我试图返回一个只有唯一元素的数组,这些元素在数组中没有重复,没有特定的顺序.
[1,2,3,3,3,4,4,2] 会回来的 1
["hello", "truck", 2, "truck", 2, "truck"] 会回来的 "hello"
到目前为止,我只能使用filter()函数返回唯一元素,但我不知道该去哪里.
基本上如果有重复项,我希望从数组中删除这两个值.
这听起来很简单,但我有一个严重的心理打嗝.
以下是我的代码:
function diff(arr1, arr2) {
var newArr = [];
newArr = arr1.concat(arr2);
newArr = newArr.filter(function(elem, index, self) {
return index == self.indexOf(elem);
});
console.log(newArr);
return newArr;
}
diff([1, 2, 3, 5], [1, 2, 3, 4, 5]);
//should return 4
Run Code Online (Sandbox Code Playgroud) function hyphenate(str) {
var replace = "-";
str = str.toLowerCase().replace(/[\s_\b]/g, replace);
console.log(str);
return str;
}
hyphenate("This Is Hyphenate"); // this-is-hyphenate
hyphenate("camelCaseString"); // camel-case-string
Run Code Online (Sandbox Code Playgroud)
我试图让我的代码生成第二个函数调用的结果,但尚未确定可以执行此操作的模式。任何帮助将不胜感激。