vue 数据处理问题

leftData的数据格式
底下的productName和code不在checklist里面,而是在它的外层,我现在想取到外层的值应该怎么做,感谢各位
回答:
前面生成 totalArray 那部分,应该可以用 flatMap简化一下
const totalArray = this.leftData    .flatMap(item => item.checkList.map(json => JSON.parse(json)));
这样得到的 totalArray 里每个元素不含 item 中的 productName 和 productCode。可以在生成元素对象的时候(也就是 JSON.parse 那里)把这两个 数据补进去,用扩展运算符,或者 Object.assign,或者直接给对象赋值都可以
const totalArray = this.leftData    .flatMap(item => {
        const { productName, productCode } = item;
        return item.checkList.map(json => ({
            ...JSON.parse(json),
            productName,
            productCode,
        }));
    });
后面部分没看太明白,不过现在 totalArray 里每个元素都含 productName 和 productCode 这两个属性了。
如果理解没错,后面大概应该可以这样来产生 selectData:
注意前面第二段代码已经让totalArray的元素拥有了productName和productcode
const selectData = totalArray.map(item => ({    parentId: "",
    productName: item.productName,
    productCode: item.productCode,
    productId: item.parentId,
}));
以上是 vue 数据处理问题 的全部内容, 来源链接: utcz.com/p/936389.html
