示例代码:
const p = [
{id: 1, title: 'iPad 4 Mini', price: 500.01, inventory: 2},
{id: 2, title: 'H&M T-Shirt White', price: 10.99, inventory: 10},
{id: 3, title: 'Charli XCX -Sucker CD', price: 19.99, inventory: 5}]
// 测试 find() 返回的是一份拷贝值 or 匹配元素的引用(内存地址)
function add(prod) {
const ret = p.find(elem => elem.id === prod.id);
// 修改 Find() 返回值
ret.inventory=9999888777;
}
add(p[0])
console.log(p);
/*
OutPut:
[
{
"id": 1,
"inventory": 9999888777, // 原数组修改生效,属于传址调用
"price": 500.01,
"title": "iPad 4 Mini"
},
{
"id": 2,
"inventory": 10,
"price": 10.99,
"title": "H&M T-Shirt White"
},
{
"id": 3,
"inventory": 5,
"price": 19.99,
"title": "Charli XCX -Sucker CD"
}
]
*/