数组中的重复数字|使用Javascript

时间:2016-09-13 15:19:35

标签: javascript arrays duplicates

对于我的生活,我无法弄清楚如何复制数字数组。

预期结果:[1, 2, 3, 4, 5, 1, 2, 3, 4, 5]

到目前为止,这是我的代码:

const numbers = [1, 2, 3, 4, 5];
var result = numbers.map((number) => {
    return number
});

console.log(result);

我无法弄清楚如何获取数字数组然后复制数组?

我开始做if语句 - “如果number等于1然后返回1”但是会打印出这样的数字[1, 1, 2, 2, 3, 3, 4, 4, 5, 5]

https://jsfiddle.net/e6jf74n7/1/

3 个答案:

答案 0 :(得分:3)

地图将一对一地映射所有值,这就是为什么它被称为“地图”;它给你一个值,你返回一个应该替换它的值。

要复制列表,concat列表为自己:

const numbers = [1, 2, 3, 4, 5];
var result = numbers.concat(numbers);

console.log(result);

答案 1 :(得分:0)

在这种情况下,只有使用concat

才能使用Map
numbers.concat(numbers);

如果你想连续多次,那么

var concatArr = numbers;
 for (var i=0; i < 9 ; i++ ) {  
        numbers = numbers.concat(concatArr); 
   }
  console.log(numbers);

Concat docs https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Array/concat

答案 2 :(得分:0)

最快的方法是使用slice()然后将concat()用于旧数组。

var arr = [ 1, 2, 3, 4, 5 ];
var clone = arr.slice(0);
var duplicate = arr.concat(clone);