Javascript 生成阵列的免费复制版本

Javascript 生成阵列的免费复制版本,javascript,Javascript,生成阵列的免费复制版本。函数应该处理使用排序数组的迭代器。所以我可以做第一部分,但我不知道如何使用isSorted或迭代器 _.uniq = function(array, isSorted, iterator) { var unique = []; for (var i = 0; i < array.length; i++) { var ele = array[i]; if (unique.indexOf(ele) === -1) { unique

生成阵列的免费复制版本。函数应该处理使用排序数组的迭代器。所以我可以做第一部分,但我不知道如何使用isSorted或迭代器

_.uniq = function(array, isSorted, iterator) {
  var unique = [];

  for (var i = 0; i < array.length; i++) {
    var ele = array[i];

    if (unique.indexOf(ele) === -1) {
      unique.push(ele);
    }
  }

  return unique;
};
\ uq.uniq=函数(数组、isSorted、迭代器){
var-unique=[];
对于(var i=0;i
如果您愿意创建一个新的数组,这是一种简单而优雅的方法,不需要排序,并且可以忽略IE11

  let fruits = ['pear','apple','banana','orange','apple','mango','banana','pear'];
  //https://www.codementor.io/tips/8243973127/how-to-remove-duplicates-within-a-javascript-array-using-es6-in-just-one-line
  //Array.from & new Set not supported in IE11, MDN has details.

let fruits_without_duplicates = Array.from(new Set(fruits));

console.log(fruits_without_duplicates); //["apple", "banana", "orange", "mango"]

您可以从数组中创建一个JavaScript,然后从集合中获取一个数组。集合保存唯一的值

let fruits = ['pear','apple','banana','orange','apple','mango','banana','pear'];

let uniq_fruits = [... new Set(fruits)];

console.log(uniq_fruits); //[ 'pear', 'apple', 'banana', 'orange', 'mango' ]

如果对数组进行排序,您只需将每个元素与前一个元素进行比较,而不是在结果数组中搜索它。您所说的“使用排序数组的迭代器”是什么意思?什么是排序和迭代器?