Javascript 在两个不同的值之间交替创建一个数组

Javascript 在两个不同的值之间交替创建一个数组,javascript,arrays,sorting,Javascript,Arrays,Sorting,我试图创建一个数组,在两个不同的值之间以预定的长度交替 例如: conts value1 = 1; const value2 = 2; cont length = 6; //desired output const array1 = [1, 2, 1, 2, 1, 2]; 尝试: var repeated = new Array(3).fill([1, 2]).flat(); 或更一般的: function repeat(n, value){ return new Array

我试图创建一个数组,在两个不同的值之间以预定的长度交替

例如:

conts value1 = 1;
const value2 = 2; 
cont length = 6; 

//desired output
const array1 = [1, 2, 1, 2, 1, 2];

尝试:

var repeated = new Array(3).fill([1, 2]).flat();
或更一般的:

function repeat(n, value){
    return new Array(n).fill(value).flat();
}

result = repeat(3, [1, 2]);
信用证:

试试:

var repeated = new Array(3).fill([1, 2]).flat();
或更一般的:

function repeat(n, value){
    return new Array(n).fill(value).flat();
}

result = repeat(3, [1, 2]);

学分:

一个简单的初学者解决方案如下:

function createArray(value1, value2, length){
    var array = new Array()
    for(var i=0; i<length;i++){ 
          if(i%2 == 0){
           array.push(value1);
          }else{
           array.push(value2);
          }
    return array;
    }
}
函数createArray(值1、值2、长度){
var数组=新数组()

对于(var i=0;i而言,一个简单的初学者解决方案如下:

function createArray(value1, value2, length){
    var array = new Array()
    for(var i=0; i<length;i++){ 
          if(i%2 == 0){
           array.push(value1);
          }else{
           array.push(value2);
          }
    return array;
    }
}
函数createArray(值1、值2、长度){
var数组=新数组()

对于(var i=0;i,您可以使用
array创建数组。从
中选择所需的长度并将其映射为所需的值:

const value1=1;
常数值2=2;
常数长度=6;
const result=Array.from({length}).map((e,ndx)=>ndx%2?value2:value1);

console.log(result);
您可以使用
数组创建数组。从
创建所需长度的数组,并将其映射为所需值:

const value1=1;
常数值2=2;
常数长度=6;
const result=Array.from({length}).map((e,ndx)=>ndx%2?value2:value1);

console.log(result);
您可以按所需顺序获取一个值数组,并在值数组的索引上使用闭包,通过获取值数组长度的余数进行调整

const value=[1,2],
长度=6,
结果=数组.from({length},(i=>=>values[i++%values.length])(0));

console.log(result);
您可以按所需顺序获取一个值数组,并在值数组的索引上使用闭包,通过获取值数组长度的余数进行调整

const value=[1,2],
长度=6,
结果=数组.from({length},(i=>=>values[i++%values.length])(0));

console.log(result);
谢谢,我会再仔细分析一下,看看你是怎么做的谢谢!谢谢,我会再仔细分析一下,看看你是怎么做的谢谢!首先,看起来你的代码“const”中有个错误。其次,能否添加结果值和预期值以查看您试图实现的目标?首先,代码“const”中似乎有错误。其次,能否添加结果值和预期值以查看您试图实现的目标?