gpt4 book ai didi

javascript - js map 为什么不通过 return 改变我的值

转载 作者:行者123 更新时间:2023-11-28 14:44:11 25 4
gpt4 key购买 nike

我正在使用一个变量进行映射,并执行返回来更改他的值,但它不起作用,整个数组的值是相同的:

  //resultValues = processValues(table,resultValues,'toClient');
resultValues.map ( (record) => {
record = processValues(table,record,'toClient');
return record;
});
return Promise.resolve(resultValues); // does not change

所以我必须创建另一个变量才能对数组进行更改。为什么会出现这种行为? map 上正常吗?;例如 lodash 是否有另一个选项不需要创建第二个变量?

  let newResult = [];
resultValues.map ( (record) => {
record = processValues(table,record,'toClient');
newResult.push(record); // with this changes are sent to new var
//return record;
});
// return Promise.resolve(resultValues);
return Promise.resolve(newResult);

最佳答案

Array.map 返回一个新的数组实例,其中的每个元素都被转换:

let ret = resultValues.map (record => processValues(table,record,'toClient'));
return Promise.resolve(ret);

关于javascript - js map 为什么不通过 return 改变我的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47070331/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com