是的,数组中的对象是通过引用传递的。在JavaScript中,当一个对象被传递给一个函数时,这个函数会获得这个对象的引用。在函数内部对对象的任何修改都会影响到原始对象。
例如,假设有一个名为myArray
的数组,其中包含一些对象。
const myArray = [
{ key: 'value' },
{ key: 'value2' },
{ key: 'value3' }
];
我们可以使用map
函数来遍历这个数组,并对每个对象执行一个函数。map
函数会返回一个新的数组,其中包含了原始数组中每个对象调用函数的结果。
const mappedArray = myArray.map(obj => {
const newObj = { ...obj };
// 修改新对象
newObj.key = 'modifiedValue';
return newObj;
});
在这个例子中,map
函数遍历了myArray
数组中的每个对象。对于每个对象,它都会创建一个新的对象newObj
,其中包含了原始对象的所有属性。然后,map
函数会返回一个新的数组,其中包含了newObj
对象的引用。
因此,在这个例子中,mappedArray
数组中的每个对象都是通过引用传递的。当我们修改newObj
对象时,原始对象也会被修改。
领取专属 10元无门槛券
手把手带您无忧上云