怎么理解Array.find

怎么理解这段代码的输出?

var inventory = [
    {name: 'apples', quantity: 2},
    {name: 'bananas', quantity: 0},
    {name: 'cherries', quantity: 5}
];

function findCherries(fruit) { 
    return fruit.name === 'cherries';
}
console.log(inventory);    //cherries的quantity为10;
var item = inventory.find(findCherries);
console.log(item);
item.quantity = 10;
console.log(inventory);    //cherries的quantity为10;

chrome运行结果
chrome运行结果

阅读 1.7k
2 个回答

和理解没关系。是你浏览器的展开时候才去取值。所以会出现相同的。用下JSON.stringify就知道了

find这个方法返回的值 指针还是指向原数组。内存的堆栈可以了解下
如果改成filter就不会了,因为他会添加一个新的内存栈

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题