let fruits =["orange","banana","apple","lemon"]; /*array declaration*/
fruits.push("avacado"); /* Adding an element to the array*/
/*displaying elements of the array*/
for(var i=0; i < fruits.length; i++){
console.log(fruits[i]);
}
var arr = [
"apple",
"banana",
"cherry"
];
var arr2 = [
"dragonfruit",
"elderberry",
"fig"
];
arr.push(...arr2);
4
push() 方法将新项添加到数组的末尾,并返回新的长度 . 例:
var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.push("Kiwi");
// The result of fruits will be:
Banana, Orange, Apple, Mango, Kiwi
您的问题的确切答案已经得到解答,但让我们看一下将项目添加到数组的其他方法 .
unshift() 方法将新项添加到数组的开头,并返回新的长度 . 例:
var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.unshift("Lemon", "Pineapple");
// The result of fruits will be:
Lemon, Pineapple, Banana, Orange, Apple, Mango
最后, concat() 方法用于连接两个或多个数组 . 例:
var fruits = ["Banana", "Orange"];
var moreFruits = ["Apple", "Mango", "Lemon"];
var allFruits = fruits.concat(moreFruits);
// The values of the children array will be:
Banana, Orange, Apple, Mango, Lemon
// initialize array
var arr = [
"Hi",
"Hello",
"Bangladesh"
];
// append new value to the array
arr= [...arr , "Feni"];
// or you can put a variable value
var testValue = "Cool";
arr = [...arr , testValue ];
console.log(arr);
// final output [ 'Hi', 'Hello', 'Bangladesh', 'Feni', 'Cool' ]
//Append at first
arrName.push('newName1');
//Append at last
arrName.unshift('newName1');
//Append at index 1
arrName.splice(1, 0,'newName1');
//1: index number, 0: number of element to remove, newName1: new element
//Append at index 3
arrName[3] = 'newName1';
Append Multiple Element
//Append from index number 1
arrName.splice(1, 0,'newElemenet1', 'newElemenet2', 'newElemenet3');
//1: index number from where append start,
//0: number of element to remove,
//newElemenet1,2,3: new elements
Append array
//join two or more array
arrName.concat(newAry1, newAry2);
//newAry1,newAry2: Two different array which is to be append to the existing array
0
您可以使用 push 和 apply 函数追加两个数组 .
var array1 = [11, 32, 75];
var array2 = [99, 67, 34];
Array.prototype.push.apply(array1, array2);
30 回答
如果你想组合2个没有重复的数组,你可以尝试下面的代码
usage:
Output: [1,2,3,4,5]
现在大多数浏览器都支持 ECMAScript 5 标准的Javascript,您可以使用
apply()
将array1
追加到array2
.Chrome和FF以及IE Edge支持 ECMAScript 6 标准的Javascript,您可以使用
spread
运算符:当浏览器考虑逻辑时,
spread
运算符将用array2.push(3, 4, 5);
替换array2.push(...array1);
.Bonus point
如果您想创建另一个变量来存储两个数组中的所有项,您可以这样做:
ES5
var combinedArray = array1.concat(array2);
ES6
const combinedArray = [...array1, ...array2]
点差运算符(
...
)用于展开集合中的所有项目 .如果
arr
是一个数组,并且val
是您要添加的值,请使用:例如 .
将记录:
在数组上追加项目
你.push()中的那个值 . Example: array.push(value);
如果您知道最高指数(例如存储在变量“i”中),那么您可以这样做
但是如果你不知道那么你可以使用
如其他答案所示,或者您可以使用
请注意,该数组基于零,因此.length返回最高索引加1 .
另请注意,您不必按顺序添加,实际上可以跳过值,如
在这种情况下,两者之间的值将具有未定义的值 .
因此,循环遍历JavaScript以验证该点实际存在的值是一种很好的做法 .
这可以通过以下方式完成:
如果您确定阵列中没有任何零,那么您可以这样做:
当然要确保在这种情况下你不要使用myArray [i]作为条件(正如一些人在互联网上建议的那样,一旦我大于最高索引,它将返回undefined,其评估为假)
如果要添加值,可以使用push(),例如
arr.push("Test1", "Test2");
如果你有数组,你可以使用concat(),例如
Array1.concat(Array2)
如果您只有一个要添加的元素,您也可以尝试使用long menthod,例如
array[aray.length] = 'test';
如果你想追加两个数组 -
然后你可以使用:
如果你想将记录
g
添加到数组(var a=[]
),那么你可以使用:我认为值得一提的是,可以使用多个参数调用push,这些参数将按顺序附加到数组中 . 例如:
因此,您可以使用push.apply将数组附加到另一个数组,如下所示:
Annotated ES5有关于push和apply究竟是什么的更多信息 .
2016更新:使用spread,您不再需要
apply
,例如:push()
在数组末尾添加一个新元素 .pop()
从数组末尾删除一个元素 .要将对象(如字符串或数字)附加到数组使用 -
array.push(toAppend);
There are a couple of ways to append an array in JavaScript:
1)
push()
方法将一个或多个元素添加到数组的末尾,并返回数组的新长度 .输出:
2)
unshift()
方法将一个或多个元素添加到数组的开头并返回数组的新长度:输出:
3)
concat()
方法用于合并两个或多个数组 . 此方法 does not change 现有数组,而是返回一个新数组 .输出:
4) 您可以使用数组的
.length
属性将元素添加到数组的末尾:输出:
5)
splice()
方法通过删除现有元素和/或添加新元素来更改数组的内容:输出:
6) 您还可以通过指定新索引并指定值来向数组添加新元素:
输出:
如果您使用的是ES6,则可以使用spread运算符来执行此操作 .
push()
方法将新项添加到数组的末尾,并返回新的长度 . 例:您的问题的确切答案已经得到解答,但让我们看一下将项目添加到数组的其他方法 .
unshift()
方法将新项添加到数组的开头,并返回新的长度 . 例:最后,
concat()
方法用于连接两个或多个数组 . 例:我们在javascript中没有为Array添加函数,但是我们有 push 和 unshift ,想象你有下面的数组:
我们喜欢在这个数组中附加一个值,我们可以这样做,arr.push(6)并且它会在数组的末尾添加6:
我们也可以使用unshift,看看我们如何应用这个:
它们是要添加的主要功能或将新值附加到数组 .
使用
concat
:a
现在包含所有元素[1, 2, 3, 3, 4, 5]
.参考:https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/concat
如果要将单个值附加到数组中,只需使用push方法即可 . 它将在数组末尾添加一个新元素 .
但是如果你打算添加多个元素,那么将元素存储在一个新数组中,并用第一个数组连接第二个数组......你想要的任何一种方式 .
当然,
concat()
也可以与二维数组一起使用 . 不需要循环 .现在,您可以利用ES6语法并执行以下操作:
保持原始数组不可变 .
使用push()函数追加到数组:
会打印
您可以使用
push()
函数在一次调用中将多个值附加到数组:会打印
Update
如果要将一个数组的项添加到另一个数组,可以使用firstArray.concat(secondArray):
会打印
让数组长度属性完成工作:
myarray.length返回数组中的字符串数 . JS is zero based 所以数组的下一个元素键将是数组的当前长度 . EX:
附加单个项目
要将单个项附加到数组,请使用Array对象提供的push()方法:
push()
变异原始数组 .要改为创建新数组,请使用concat() Array方法:
请注意,
concat()
实际上并未向数组添加项目,而是创建一个新数组,您可以将其分配给另一个变量,或重新分配给原始数组(将其声明为let
,因为您无法重新分配const
):js let fruits = ['banana', 'pear', 'apple'] fruits = fruits.concat('mango')
附加多个项目
要将多个项附加到数组,可以通过使用多个参数调用它来使用push():
您还可以使用之前看到的concat()方法,传递以逗号分隔的项目列表:
或数组:
请记住,如前所述,此方法不会改变原始数组,但会返回一个新数组 .
一些快速基准测试(每个测试= 500k附加元素,结果是多次运行的平均值)显示如下:
Firefox 3.6(Mac):
小阵列: arr[arr.length] = b is faster (300ms vs. 800ms)
大型阵列: arr.push(b) is faster (500ms vs. 900ms)
Safari 5.0(Mac):
小阵列: arr[arr.length] = b is faster (90ms vs. 115ms)
大型阵列: arr[arr.length] = b is faster (160ms vs. 185ms)
谷歌Chrome 6.0(Mac):
小阵列: No significant difference (Chrome很快!只有~38ms !!)
大型数组: No significant difference (160ms)
我更喜欢
arr.push()
语法,但我认为我会更好地使用arr[arr.length]
版本,至少在原始速度上 . 我很乐意看到IE运行的结果 .我的基准测试循环:
你可以使用推送方法 .
you can do it using new javascript Es 6 feature :
如果你只是附加一个变量,那么
push()
就可以了 . 如果需要追加另一个数组,请使用concat()
:吐出来的:
除非重新分配,否则concat不会影响
ar1
和ar2
,例如:将显示:
很多很棒的信息here
Append Single Element
Append Multiple Element
Append array
您可以使用
push
和apply
函数追加两个数组 .它会将
array2
追加到array1
. 现在array1
包含[11, 32, 75, 99, 67, 34]
. 此代码比编写for
循环以复制数组中的每个项目要简单得多 .将值附加到数组
由于Array.prototype.push将一个或多个元素添加到数组的末尾并返回数组的新长度,因此有时我们只想获取新的最新数组,以便我们可以这样做:
要不就:
使用新的ES6 spread operator,使用
push
连接两个阵列变得更加容易:这会将
arr2
的内容添加到arr
的末尾 .Babel REPL Example