【发布时间】:2020-10-30 18:25:12
【问题描述】:
我正在尝试创建一个函数,它将数组值替换为其匹配的对象值。我试过使用.filter。但是,它不允许重复值,如下例所示。
当前代码
fetchInventory: async function () {
await Object.entries(this.$store.state.inventory).forEach(([k, v]) => {
for (let i = 0; i < parseInt(v); i++) this.inventory.push(parseInt(k))
})
const items = JSON.parse(localStorage.getItem('priceCache'));
const filteredItems = await items.list.filter(i => this.inventory.includes(i[0]));
this.inventory = await filteredItems;
}
输入
var array = [1208, 1209, 1209]
电流输出
var output = [[1208, 'returned item'], [1209, 'returned item']]
预期输出
var output = [[1208, 'returned item'], [1209, 'returned item'], [1209, 'returned item']]
【问题讨论】:
-
你在哪里使用
array? -
另一方面,想知道在丢失的两行中是否需要
await。 -
试试
[1208, 1209, 1209].map(e => [e, 'returned item']) -
它在 vue 中编码,在第一部分我将值推送到数据数组,@User863 我喜欢你的标题但“返回的项目”只是占位符,每个数字都有动态值。
-
您从哪里获得这些动态值?请提供所有相关信息,以便我们为您提供帮助。
标签: javascript arrays dictionary object filter