为了账号安全,请及时绑定邮箱和手机立即绑定

如何将某物附加到数组中?

如何将某物附加到数组中?

www说 2019-06-06 13:24:42
如何将某物附加到数组中?如何将对象(例如字符串或数字)附加到JavaScript数组中?
查看完整描述

3 回答

?
杨魅力

TA贡献1811条经验 获得超6个赞

使用push()函数来追加到数组:

// initialize arrayvar arr = [
    "Hi",
    "Hello",
    "Bonjour"];// append new value to the arrayarr.push("Hola");console.log(arr);

将打印

["Hi", "Hello", "Bonjour", "Hola"]

您可以使用push()函数在单个调用中将多个值追加到数组:

// initialize arrayvar arr = [ "Hi", "Hello", "Bonjour", "Hola" ];// append multiple values to the arrayarr.push("Salut", "Hey");
// display all valuesfor (var i = 0; i < arr.length; i++) {
    console.log(arr[i]);}

将打印

HiHelloBonjourHola SalutHey

更新

如果要将一个数组的项添加到另一个数组,则可以使用firstArray.concat(secondArray):

var arr = [
    "apple",
    "banana",
    "cherry"];arr = arr.concat([
    "dragonfruit",
    "elderberry",
    "fig"]);console.log(arr);

将打印

["apple", "banana", "cherry", "dragonfruit", "elderberry", "fig"]

更新

如果您想将任何值附加到数组的开头(这意味着第一个索引),则可以使用取消()为了这个目的。

var arr = [1, 2, 3]arr.unshift(0)console.log(arr)

将印刷:

[0, 1, 2, 3]

它还支持附加多个值,就像Push()方法一样。


查看完整回答
反对 回复 2019-06-06
?
SMILET

TA贡献1796条经验 获得超4个赞

如果您只是附加一个变量,那么push()效果很好。如果需要追加另一个数组,请使用concat():

var ar1 = [1, 2, 3];var ar2 = [4, 5, 6];var ar3 = ar1.concat(ar2);alert(ar1);alert(ar2);alert(ar3);

会吐出:

"1,2,3""4,5,6""1,2,3,4,5,6"

减值不影响ar1ar2除非重新分配,例如:

ar1 = ar1.concat(ar2);alert(ar1);

将展出:

"1,2,3,4,5,6"

很多伟大的信息这里


查看完整回答
反对 回复 2019-06-06
?
沧海一幻觉

TA贡献1824条经验 获得超5个赞

一些快速基准测试(每个测试=500 k附加元素,并且结果是多次运行的平均值)显示如下:

Firefox 3.6(Mac):

  • 小阵列:

    arr[arr.length] = b更快

    (300毫秒对800毫秒)
  • 大数组:

    arr.push(b)更快

    (500毫秒对900毫秒)

Safari 5.0(Mac):

  • 小阵列:

    arr[arr.length] = b更快

    (90MS对115 ms)
  • 大数组:

    arr[arr.length] = b更快

    (160 ms对185 ms)

Google Chrome 6.0(Mac):

  • 小阵列:

    无显着性差异

    (Chrome快!只有38毫秒!)
  • 大数组:

    无显着性差异

    (160毫秒)

我喜欢arr.push()语法更好,但我认为我会更好地使用arr[arr.length]版本,至少在原始速度。不过,我希望看到IE运行的结果。


我的基准环:

function arrpush_small() {
    var arr1 = [];
    for (a = 0; a < 100; a++)
    {
        arr1 = [];
        for (i = 0; i < 5000; i++)
        {
            arr1.push('elem' + i);
        }
    }}function arrlen_small() {
    var arr2 = [];
    for (b = 0; b < 100; b++)
    {
        arr2 = [];
        for (j = 0; j < 5000; j++)
        {
            arr2[arr2.length] = 'elem' + j;
        }
    }}function arrpush_large() {
    var arr1 = [];
    for (i = 0; i < 500000; i++)
    {
        arr1.push('elem' + i);
    }}function arrlen_large() {
    var arr2 = [];
    for (j = 0; j < 500000; j++)
    {
        arr2[arr2.length] = 'elem' + j;
    }}


查看完整回答
反对 回复 2019-06-06
  • 3 回答
  • 0 关注
  • 401 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号