所以考虑到JavaScript语言,我有两个问题:
有没有办法在不使用push()函数或语言中的任何其他内置函数的情况下附加到数组?
有没有办法在不使用concat()函数或语言中的任何其他内置函数的情况下将两个数组合并在一起?
答案 0 :(得分:4)
对于第一部分,您始终可以使用数组的length属性来添加下一个元素:
a = ['a', 'b', 'c', 'd'];
a[a.length] = 'e';
// a is now ["a", "b", "c", "d", "e"]
要做后者,合并数组,没有一个函数,你只需循环通过数组,应该选择最大的循环。但是,正如评论所述。这通常不是一个很好的理由。
答案 1 :(得分:2)
以下是您的替代方案:
要在不调用push
的情况下将项目添加到数组中:
arr[arr.length] = value;
在没有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;
}