如何根据 javascript 中的值将空白元素添加到数组中



我有一个数组和一个变量,变量将显示整数值,根据该值我需要在数组中添加空白元素。例如值为 4,所以我应该得到结果 ['''、''、''、'chart1'、'chart2'、'chartr3']。这是下面的代码,这里我硬编码了例如

.HTML

<p>How to add blank element to an array based on value in javascript</p>

脚本

var count = 4;
var array = ['chart1','chart2','chartr3'];
console.log(array);
var finalarray[] ;
console.log(finalarray);//['','','','','chart1','chart2','chartr3'];

您可以尝试使用 unshift

var array = ['chart1','chart2','chartr3'];
var count = 4;
for (var i = 1; i++; i <= count) {
   array.unshift(' ');
}

编辑。在每次点击中触发它(jquery(

var start_array = ['chart1','chart2','chartr3'];
$('.element-clicked').on('click', function(e) {
    start_array.unshift(' ');
});

如果你想使用一个函数。 和 var finalarray[] ; 是错误的。

var array = ["chart1","chart2","chartr3"];
var count = 4;
function myFunction() {
	var finalarray=[] ;
    
  for(var i=0;i< 4;i++){
   finalarray.push("") ;
  
}
 finalarray.push("chart1") ;
  finalarray.push("chart2") ;
   finalarray.push("chartr3") ;
console.log(finalarray);
}
<button onclick="myFunction()">Click me</button>

尝试循环怎么样?

var count = 4;
var array = ["chart1", "chart2", "chart3"];
var finalArray = array;
for (var i = 0; i < count; i++) {
    finalArray.unshift("");
}
console.log(finalArray);

注意:unshift(( 方法在 Internet Explorer 8 及更早版本中无法正常工作:将插入值,但返回值将未定义。

如果您希望此数组在单击按钮时递增,您可以尝试如下操作:

var array = ["after", "after2", "after3"];
// This will set the span 'originalArray' to display 'array'
document.getElementById("originalArray").innerHTML = array;  
// prependValueToArray:
// - This function will add a value e.g: "" to your specified array 'x' number of times.
function prependValueToArray(array, number, value) {
    var resultArray = array;
    for (var i = 0; i < number; i++) {
        resultArray.unshift(value);
    }
    
    // This will change the value inside the 'resultArray' span to the new array
    document.getElementById("resultArray").innerHTML = resultArray;  
}
<p>
  <strong>
    Original:
  </strong>
  <br/>
  [
  <span id="originalArray"></span>
  ]
</p>
<button onclick="prependValueToArray(array, 1, 'before');">Click me!</button>
<p>
  <strong>
    Result:
  </strong>
  <br/>
  [
  <span id="resultArray"></span>
  ]
</p>

var count = 4;
for (var i = 0; i

finalarray[i] = '';

}

最新更新