首页 > JavaScript > 如何在 JavaScript 中将对象(例如字符串或数字)附加到数组中?

如何在 JavaScript 中将对象(例如字符串或数字)附加到数组中?

上一篇 下一篇

如何在 JavaScript 中将对象(例如字符串或数字)附加到数组中?

分割线

网友回答:

如果您只附加一个变量,那么工作正常。如果需要追加另一个数组,请使用 :push()concat()

var ar1 = [1, 2, 3];
var ar2 = [4, 5, 6];

var ar3 = ar1.concat(ar2);

alert(ar1);
alert(ar2);
alert(ar3);

除非重新分配,否则 concat 不会影响,例如:ar1ar2

var ar1 = [1, 2, 3];
var ar2 = [4, 5, 6];

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

关于 JavaScript 参考有很多很棒的信息。

分割线

网友回答:

使用该方法将值追加到数组的末尾:Array.prototype.push

// initialize array
var arr = [
  "Hi",
  "Hello",
  "Bonjour"
];

// append new value to the array
arr.push("Hola");

console.log(arr);

您可以使用该函数在一次调用中将多个值附加到数组:push()

// initialize array
var arr = ["Hi", "Hello", "Bonjour", "Hola"];

// append multiple values to the array
arr.push("Salut", "Hey");

// display all values
for (var i = 0; i < arr.length; i++) {
  console.log(arr[i]);
}

更新

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

var arr = [
  "apple",
  "banana",
  "cherry"
];

// Do not forget to assign the result as, unlike push, concat does not change the existing array
arr = arr.concat([
  "dragonfruit",
  "elderberry",
  "fig"
]);

console.log(arr);

更新

如果您想在数组的开头(即第一个索引)前面附加任何值,那么您可以为此目的使用,这只是此答案的补充。Array.prototype.unshift

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

它还支持一次附加多个值,就像 .push


更新

ES6 语法的另一种方法是返回一个带有 spread 语法的新数组。这会保持原始数组不变,但返回一个新数组,并附加新项目,符合函数式编程的精神。

const arr = [
  "Hi",
  "Hello",
  "Bonjour",
];

const newArr = [
  ...arr,
  "Salut",
];

console.log(newArr);

分割线

网友回答:

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

火狐 3.6 (Mac):

  • 小数组:arr[arr.length] = b 更快(300ms vs. 800ms)
  • 大型阵列:arr.push(b) 更快(500ms vs. 900ms)

Safari 5.0 (Mac):

  • 小数组:arr[arr.length] = b 更快(90ms vs. 115ms)
  • 大型数组:arr[arr.length] = b 更快(160ms vs. 185ms)

谷歌浏览器 6.0 (Mac):

  • 小数组:没有显着差异(Chrome 很快!只有~38毫秒!!
  • 大阵列:无显著差异(160ms)

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


我的基准测试循环:

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;
    }
}

模板简介:该模板名称为【如何在 JavaScript 中将对象(例如字符串或数字)附加到数组中?】,大小是暂无信息,文档格式为.编程语言,推荐使用Sublime/Dreamweaver/HBuilder打开,作品中的图片,文字等数据均可修改,图片请在作品中选中图片替换即可,文字修改直接点击文字修改即可,您也可以新增或修改作品中的内容,该模板来自用户分享,如有侵权行为请联系网站客服处理。欢迎来懒人模板【JavaScript】栏目查找您需要的精美模板。

相关搜索
  • 下载密码 lanrenmb
  • 下载次数 431次
  • 使用软件 Sublime/Dreamweaver/HBuilder
  • 文件格式 编程语言
  • 文件大小 暂无信息
  • 上传时间 03-06
  • 作者 网友投稿
  • 肖像权 人物画像及字体仅供参考
栏目分类 更多 >
热门推荐 更多 >
响应式 微信模板 html5 企业网站 单页式简历模板 自适应 微信图片 微信公众平台 微信素材 微信文章
您可能会喜欢的其他模板