如何在 JavaScript 中将对象推送到数组

JavaScript1年前 (2023)发布 admin
3,673 0

要将对象推送到 JavaScript 中的数组,请以该对象作为参数调用数组上的 push() 方法,即 arr.push(obj)。 Push() 方法会将元素添加到数组的末尾。

例如:

const arr = [];

const obj = { name: ‘Jeff’ };

// 👇 Push object to array
arr.push(obj);

// [{ name: ‘Jeff’ } ]
console.log(arr);

Push() 方法获取一个对象并将其添加到数组的末尾。

初始化期间将对象推送到数组

如果变量是在推送对象之前新创建的(如前面的示例所示),则可以简单地将对象放在方括号 ([]) 之间,以便在初始化变量时将其包含在数组中:

const obj = { name: ‘Jeff’ };

// 👇 Push object to array with initialization
const arr = [obj];

console.log(arr);

将多个对象推送到数组

Push() 方法实际上接受可变数量的参数。 它们按照传递给 Push() 的顺序分别添加到数组的末尾。

例如:

const arr = [];

const obj1 = { name: ‘Samantha’ };
const obj2 = { name: ‘Chris’ };
const obj3 = { name: ‘Mike’ };

arr.push(obj1, obj2, obj3);

// [ { name: ‘Samantha’ }, { name: ‘Chris’ }, { name: ‘Mike’ } ]
console.log(arr);

将对象推入数组而不进行突变

Push() 方法将一个对象添加到数组中,这意味着它会被修改。 如果您不想这样做,可以在调用 push() 之前使用扩展语法 (…) 创建原始数组的副本:

const arr = [{ name: ‘Jerry’ }];

const newArr = […arr];

newArr.push({ name: ‘Mia’ });

// [ { name: ‘Jerry’ }, { name: ‘Mia’ } ]
console.log(newArr);

// 👇 Original not modified
console.log(arr); // [ { name: ‘Jerry’ } ]

与我们之前所做的类似,我们可以在扩展语法之后将对象包含在方括号中,以在初始化时将对象推送到数组的副本:

const arr = [{ name: ‘Jerry’ }];

// 👇 Push object to array without mutation
const newArr = […arr, { name: ‘Mia’ }];

// [ { name: ‘Jerry’ }, { name: ‘Mia’ } ]
console.log(newArr);

// Original not modified
console.log(arr); // [ { name: ‘Jerry’ } ]

虽然并不总是必要的,但通过避免突变,我们可以使代码更具可读性、可预测性和模块化。

© 版权声明

相关文章

暂无评论

暂无评论...