我有一系列数字,我需要确保它们是唯一的.我在互联网上找到了下面的代码片段,它的工作情况很好,直到数组中的数字为零.我发现这个其他脚本在SO上看起来几乎就像它,但它不会失败.
所以为了帮助我学习,有人可以帮我确定原型脚本出错的地方吗?
Array.prototype.getUnique = function() {
var o = {}, a = [], i, e;
for (i = 0; e = this[i]; i++) {o[e] = 1};
for (e in o) {a.push (e)};
return a;
}
Run Code Online (Sandbox Code Playgroud)
我有一个多维数组:
[[7,3], [7,3], [3,8], [7,3], [7,3], [1,2]]
Run Code Online (Sandbox Code Playgroud)
有没有什么聪明的方法可以从中删除重复的元素?它应该返回这样的数组:
[[7,3], [3,8], [1,2]]
Run Code Online (Sandbox Code Playgroud)
谢谢!
我有这个使用lodash _.chain的代码.我想简化代码,而不是使用lodash并以另一种方式执行此操作.
examObjectives = _.chain(objectives)
.where({ 'examId': exam })
.uniq(true, 'id')
.map(function (s): any { return { id: s.id, text: s.text, numberAndText: s.numberAndText }; })
.value();
Run Code Online (Sandbox Code Playgroud)
有人可以给我一些关于如何删除对lodash,_.chain和代码的依赖的建议,这可以最大限度地利用现在可以在新浏览器中找到的可用javascript函数.注意我想使用内置的过滤器和map函数,而不是使用任何外部函数来创建examObjectives.
我希望有人能想出一些想法.我对javascript不太熟悉所以欢迎有机会学习.