用javascript反向填充堆栈

时间:2014-10-02 19:24:24

标签: javascript jquery

如何将array_A的每个内容添加到array_B的最后一个空位置。 所以基本上,我试图从堆栈的顶部填充数组,使用另一个数组的内容...如果这是有意义的。

function PopulateArrayDown() {

//Declare an empty array and its size
var myArray = [];
myArray.length = 10;

//Get last index 
var lastElement =myArray.length;

//Create array of data
var Data = [1, 2, 3, 4, 5];

//For each value in data, add it to last position in myArray
$.each(Data, function (lastElement, value) {
    myArray.push(lastElement, value);
    lastElement -1;

});

所以在此之后我希望在[10]看到:1,在[9]:2,在[8]:3等... 失败! 一旦代码进入.each()

,lastElement似乎就会重置为0

4 个答案:

答案 0 :(得分:1)

如果你想要一个反向版本的数组,这里有一个简单的代码:

var Data = [1, 2, 3, 4, 5];
var myArray = Data.slice(0, Data.length).reverse(); // make a copy and reverse
myArray; // [5, 4, 3, 2, 1];

如果您希望代码有效:

//Declare an empty array and its size
var myArray = [];
myArray.length = 10;

//Get last index 
var lastElement = myArray.length - 1;

//Create array of data
var Data = [1, 2, 3, 4, 5];

//For each value in data, add it to last position in myArray
$.each(Data, function (id, value) {
    myArray[lastElement] = value;
    lastElement--;
});
myArray; // [undefined × 5, 5, 4, 3, 2, 1]
  • 如果数组长度为10,则最后一个索引为9(长度 - 1)
  • $。每个函数的第一个参数是一个索引,不要输入你需要访问的变量的相同名称
  • lastElement - 1什么都不做,但lastElement--就像lastElement-=1一样lastElement = lastElement - 1

答案 1 :(得分:0)

您不需要使用jQuery来解决这么简单的问题。我会推荐这样的东西:

var myArray = [];
myArray.length = 10;
var Data = [1, 2, 3, 4, 5];
var lastElement =myArray.length;
for (var i=0; i< Data.length; i++){
  myArray[lastElement-i] = Data[i];
}

这假设数据和数组具有相同数量的元素,这听起来像你想要的。

答案 2 :(得分:0)

&#13;
&#13;
var a=[1,2,3,4,5,6];
var b =[9,56,46,34,78,97];var j =1;
for(i=a.length-1;i>-1;i--){
b[b.length+j]=a[i];
j++;
}
console.log(b);
&#13;
&#13;
&#13;

[9,56,46,34,78,97,7:6,10:5,14:4,19:3,25:2,32:1]

答案 3 :(得分:0)

无论您需要什么,Javascript数组都可以像列表,堆栈或队列一样工作。使用 push 追加和取消隐藏来预先添加项目。所以你的代码看起来像

var myArray = [],
    Data = [1, 2, 3, 4, 5];

for(var i=0; i<Data.length; i++) {
    myArray.unshift(Data[i]);
}
相关问题