如何在没有任何内置函数的情况下向数组添加元素

时间:2014-09-02 14:35:46

标签: javascript arrays

所以考虑到JavaScript语言,我有两个问题:

  1. 有没有办法在不使用push()函数或语言中的任何其他内置函数的情况下附加到数组?

  2. 有没有办法在不使用concat()函数或语言中的任何其他内置函数的情况下将两个数组合并在一起?

4 个答案:

答案 0 :(得分:4)

对于第一部分,您始终可以使用数组的length属性来添加下一个元素:

a = ['a', 'b', 'c', 'd'];
a[a.length] = 'e'; 

// a is now ["a", "b", "c", "d", "e"]

要做后者,合并数组,没有一个函数,你只需循环通过数组,应该选择最大的循环。但是,正如评论所述。这通常不是一个很好的理由。

答案 1 :(得分:2)

以下是您的替代方案:

  1. 要在不调用push的情况下将项目添加到数组中:

    arr[arr.length] = value;
    
  2. 在没有concat调用的情况下将一个数组连接到另一个数组:

    for (var i = 0; i < arr2.length; arr1[arr1.length] = arr2[i++]);
    

答案 2 :(得分:1)

不确定这是您正在寻找的还是为什么,但arr[arr.length] = 1;是您的两个问题的答案。

var myArr = [];
myArr[myArr.length] = 1;
myArr[myArr.length] = 2;
myArr[myArr.length] = 3;

var myArr1 = [...]; // has items;
var myArr2 = [...]; // has items;
var mergedArr = [];

for(var i = 0; i < myArr1.length){
    mergedArr[mergedArr.length] = myArr1[i];
}

for(var i = 0; i < myArr2.length){
    mergedArr[mergedArr.length] = myArr2[i];
}

答案 3 :(得分:0)

function pop(arr) {
  let finalVar = arr[arr.length - 1];
  arr.length = arr.length - 1;

  return finalVar;
}