在Express中编辑全局数组
我想更改从应用程序本地variables的数组中的一个项目,我不知道如何做到这一点
这是我所设定的全球性
app.locals.products=[{name: 'a',url: '/a' }, {name: 'b',url: '/b' }, {name: 'c',url: '/c' },...
我想编辑它们,并从路线设置有效的产品,并做这样的事情
products:[{name: 'a',url: '/a' active:true}],
但是当我这样做,它会删除所有其他项目,并只设置我写的产品。 有没有办法只编辑我需要的一个,并保持其余的不变?
您可以使用数组查找function来查找产品数组中的特定项目并对其进行编辑。
function setActive(name) { var element = products.find(function(product) { return product.name === name; }); if (element) { element.active = true; } }
该函数使用name
variables,检查它是否存在于product
数组中并将其设置为活动状态。 如果不是的话,你可能想抛出一个exception。
用法:
setActive('a');