30个答案
//初始化数组 var arr=[ “嗨”, “你好”, “你好” ]; //将新值附加到数组 arr.push(“Hola”); 控制台.log(arr);
//初始化数组 var arr=[“嗨”,“你好”,“您好”,“大家好”]; //将多个值附加到数组 arr.push(“Salut”,“Hey”); //显示所有值 对于(var i=0;i<arr.length;i++){ 控制台.log(arr[i]); }
变量arr=[ “苹果”, “香蕉”, “樱桃” ]; //不要忘记分配结果,因为与push不同,concat不会更改现有数组 arr=arr.concat([ “火龙果”, “接骨木”, “无花果” ]); console.log(arr);
var arr=[1,2,3]; arr.unshift(0); 控制台.log(arr);
常量arr=[ “嗨”, “你好”, “你好”, ]; 常量newArr1=[ …啊, “Salut”, ]; 常量newArr2=[ “Salut”, …啊, ]; 控制台.log(newArr1,newArr2);
变量ar1=[1,2,3]; 变量ar2=[4,5,6]; var ar3=ar1.concat(ar2); 警报(ar1); 警报(ar2); 警报(ar3);
变量ar1=[1,2,3]; 变量ar2=[4,5,6]; ar1=ar1.concat(ar2); 警报(ar1);
-
176 只需确保人们捕捉到var ar3=ar1.concat(ar2); 部分。 concat(ar2)不会将值保存到ar1中。 您必须通过将其分配给ar3或返回ar1来捕获它,例如:ar1=ar1.concat(ar2); – 弗布林格 评论 2013年7月12日22:47 -
39 我想说这实际上是错误的答案。 问题是 如何在JavaScript中附加到数组? ,但是 凹面(concat) 事实上 创建 一 新的 阵列。 这是一个重要的区别! 相反,我想说,下面由Omnimike给出的答案实际上是最好的:使用 推送应用程序 将整个数组推送到现有数组而不创建新数组。 – 施蒂恩·德维特 评论 2015年9月18日13:09 -
@StijndeWitt您仍然可以在不创建新数组的情况下追加,如前一条注释所述 ar1=ar1.concat(ar2); 将附加到 ar1型 评论 2016年4月1日1:30 -
三 -
@StijndeWitt你说得对。 但是,从另一个角度来看,.push只适用于添加单个变量/对象,但在附加数组时却会出现问题 ar2型 无论如何,以上都是。 的结果 .推动 在该场景中 =[ar1,[ar2] ..concat解决了这个问题,但牺牲了速度并创建了一个新的数组。 要使用 .推动 正确地在数组附加中,首先循环出包含的元素并推送每个元素。 ar2.forEach(each=>{ar1.push(each);}); – 阿德 评论 2018年4月7日18:29
小型阵列: arr[arr.length]=b 速度更快 (300毫秒与800毫秒) 大型阵列: 推力(b) 速度更快 (500毫秒vs.900毫秒)
小型阵列: arr[arr.length]=b 速度更快 (90毫秒vs.115毫秒) 大型阵列: arr[arr.length]=b 速度更快 (160毫秒vs.185毫秒)
小型阵列: 无显著差异 (而且Chrome速度很快!只有38毫秒!!) 大型阵列: 无显著差异 (160毫秒)
函数arrpush_small(){ 变量arr1=[]; 对于(a=0;a<100;a++) { arr1=[]; 对于(i=0;i<5000;i++) { arr1.推('elem'+i); } } } 函数arrlen_small(){ 变量arr2=[]; 对于(b=0;b<100;b++) { arr2=[]; 对于(j=0;j<5000;j++) { arr2[arr2.length]=‘元素’+j; } } } 函数arrpush_large(){ var arr1=[]; 对于(i=0;i<500000;i++) { arr1.推('elem'+i); } } 函数arrlen_large(){ var arr2=[]; 对于(j=0;j<500000;j++) { arr2[arr2.length]=‘元素’+j; } }
-
9 -
4 -
2 -
8 这种类型的基准测试很有趣,但具有讽刺意味的是,它对加快应用程序的速度没有太大帮助。 到目前为止,渲染循环在任何周期中都要昂贵得多。 此外,浏览器开发人员正在不断优化JS语言的这些内部结构。 这就是我投反对票的原因,而不是这个答案的有趣之处。 如果你想要更快的应用程序,首先进行基准测试,然后看看要改变什么-100次中有99次不会像这个测试显示的那样成为问题。 通常情况下,它的开发人员JS/CSS很差劲,而不是让它变慢的浏览器内部。 评论 2014年9月25日21:59 -
8 我同意LessQuesar尽可能坚持内置。 并不是说微优化本身就不好,但他是对的,浏览器总是在提高其引擎速度。 恰当的例子:在撰写本文时,对于上面列出的所有技术,每浏览器的性能几乎相同。 这意味着几年前对如此小的收益大惊小怪,而现在却一无所获。 – 比约尔 评论 2015年8月13日0:35
var arr=['first']; arr.push('second','third'); 控制台.log(arr);
var arr=['first']; arr.push('second','third'); arr.push.apply(arr,[‘forth’,‘fifth’]); 控制台.log(arr);
var arr=['first']; arr.push('second','third'); arr.push(…[第四个,第五个]); 控制台.log(arr);
-
31 -
1 -
4 -
2 有时,保留对数组的引用很重要,例如在AngularJ中,当某个数组在某个控制器上的作用域内,并且某些服务需要更新数组中的数据以进行显示时。 这就是为什么我支持这个解决方案。 – 看得更清晰 评论 2016年3月15日4:14
var数组1=[11,32,75]; var数组2=[99,67,34]; Array.prototype.push.apply(array1,array2); 控制台.log(array1);
var arr=[1,2,3,4,5]; var arr2=[6,7,8,9,10]; arr.push(…arr2); 控制台.log(arr);
arr.push(val);
var arr=['a','b','c']; arr.push(d'); 控制台.log(arr);
变量数组1=[3,4,5]; var数组2=[1,2]; Array.prototype.push.apply(array2,array1); 控制台.log(array2);// [1, 2, 3, 4, 5]
“使用严格”; 设array1=[3,4,5]; 设array2=[1,2]; 阵列2.推送(…阵列1); 控制台.log(array2);// [1, 2, 3, 4, 5]
var a=['a','b']; 变量b=['c','d'];
var c=a.concat(b);
a.推动(“g”);
变量a=[1,2,3]; a.推动(4,5); 控制台.log(a);
[1, 2, 3, 4, 5]
变量a=[1,2,3]; a.卸载(4、5); 控制台.log(a);
[4, 5, 1, 2, 3]
var arr1=[“a”,“b”,“c”]; var arr2=[“d”,“e”,“f”]; var arr3=arr1.concat(arr2); 控制台.log(arr3);
[“a”、“b”、“c”、“d”、“e”、“f”]
var ar=['one','two','three']; ar[ar.length]=“四个”; console.log(ar);
[“一”、“二”、“三”、“四”]
var myFish=[“天使”、“小丑”、“普通话”、“外科医生”]; myFish.拼接(4,0,“nemo”); //数组.splice(start,deleteCount,item1,item2,…) console.log(myFish);
[“天使”、“小丑”、“普通话”、“外科医生”、“尼莫”]
var ar=[一个,两个,三个]; ar[3]=“四”;// 向ar添加新元素 console.log(ar);
[“一”、“二”、“三”、“四”]
var水果=[“香蕉”,“橘子”,“苹果”,“芒果”]; 水果。push(“猕猴桃”); //水果的结果是: 香蕉、橘子、苹果、芒果、猕猴桃
var水果=[“香蕉”,“橘子”,“苹果”,“芒果”]; 水果(“柠檬”、“菠萝”); //水果的结果是: 柠檬、菠萝、香蕉、橘子、苹果、芒果
var水果=[“香蕉”,“橙色”]; var moreFruits=[“苹果”、“芒果”、“柠檬”]; var allFruits=水果.concat(更多水果); //子数组的值为: 香蕉、橘子、苹果、芒果、柠檬
//追加到末尾 arrName.push('newName1'); //开始前准备 arrName.unshift('newName1'); //在索引1处插入 arrName.拼接(1,0,'newName1'); //1:索引编号,0:要删除的元素编号,newName1:新元素 //替换索引3(共个),否则添加新元素。 arrName[3]='newName1';
//从索引编号1插入 arrName.splice(1,0,'newElemenet1','newElemenet2','newElemenet3'); //1:插入起始的索引编号, //0:要删除的元素数, //newElemenet1,2,3:新元素
//连接两个或多个数组 arrName.concat(newAry1,newAry2); //newAry1、newAry2:将两个不同的数组组合(串联)到现有数组
-
1 -
1 -
myArray[i+1]=someValue;
myArray.push(someValue);
myArray[myArray.length]=someValue;
myArray[myArray.length+1000]=someValue;
if(myArray[i]===“未定义”){continue;}
if(!myArray[i]){continue;}
//初始化阵列 var arr=[ “嗨”, “你好”, “孟加拉国” ]; //向数组追加新值 arr=[…arr,“Feni”]; //或者可以添加变量值 var testValue=“酷”; arr=[…arr,testValue]; 控制台.log(arr); //最终输出[“嗨”、“你好”、“孟加拉国”、“费尼”、“酷”]
变量a=[ [1, 2], [3, 4] ]; 变量b=[ [“a”、“b”], [“c”,“d”]]; b=b.concat(a); 警报(b[2][1]);// 结果:2
让数组长度属性执行以下操作:
myarray[myarray.length]='添加到数组末尾的新元素值';
var矩阵=[0,1,2,3], myarrayLength=myarray长度;// myarrayLength设置为4
将值附加到数组
常数arr=[1,2,3]; 常数值=4; arr.concat([val]);// [1, 2, 3, 4]
[…arr,val]//[1,2,3,4]
-
2
附加单个项目
const水果=['banana','pear','apple'] 水果推送(“芒果”) console.log(水果)
const水果=['banana','pear','apple'] const allfreets=水果.concat('mango') console.log(所有水果)
const水果=['banana','pear','apple'] const allfreets=水果.concat('mango') console.log(所有水果)
让水果=['banana','pear','apple'] freests=水果.concat('mango')
附加多个项目
const水果=['banana','pear','apple'] 水果。push(“芒果”、“甜瓜”、“鳄梨”) console.log(水果)
const水果=['banana','pear','apple'] const allfreets=水果.concat('mango','we瓜','avocado') console.log(所有水果)
const水果=['banana','pear','apple'] const allfreests=水果.concat(['mango','甜瓜','鳄梨']) console.log(所有水果)
原来 发布于
array_merge=函数(arr1,arr2){ 返回arr1.concat(arr2.filter(函数(项)){ return arr1.indexOf(item)<0; })) }
array1=['1','2','3'] 数组2=['2','3','4','5'] combined_array=数组合并(数组1,数组2)
arr=['a','b','c']; arr.push(d'); //现在在console.log中打印数组,它将包含'a'、'b'、'c'、'd'等元素。 console.log(数组);
var arr=[1,2,3,4,5];
arr.push(6);// 返回[1,2,3,4,5,6];
arr.unshift(0);// 返回[0,1,2,3,4,5];
让水果=[“桔子”,“香蕉”,“苹果”,“柠檬”];/* 数组声明*/ 水果。push(“avacado”);/* 向数组中添加元素*/ /*显示数组元素*/ for(var i=0;i<水果长度;i++){ console.log(水果[i]); }
Array.prototype.append=函数(destArray){ destArray=destArray||[]; this.push.call(this,…destArray); 返回此; } var arr=[1,2,5,67]; var arr1=[7,4,7,8]; console.log(arr.append(arr1));// [7, 4, 7, 8, 1, 4, 5, 67, 7] 控制台.log(arr.append(“Hola”))//[1,2,5,67,7,4,7,8,“H”,“o”,“l”,“a”]