我想用消息常量创建一个对象数组,该对象数组是3个键/值: author , hour 和消息
问题:某些对象的 author 值为空白,我想在.map函数本身中获取上一个迭代 author 的键/值以替换空白值(当前迭代)
即使迭代尚未完成,是否有可能在.map函数中获取先前的迭代元素?
非常感谢您的帮助
从此
0:
author: "Kara"
hour: "19:32"
message: "Salut Mia merci pour ton ajout cela va me servir de test !"
1:
author: ""
hour: ""
message: "Ceci est un test : message 2 !!"
对此:
0:
author: "Kara"
hour: "19:32"
message: "Salut Mia merci pour ton ajout cela va me servir de test !"
1:
author: "Kara"
hour: "19:32"
message: "Ceci est un test : message 2 !!"
我要复制以前的迭代对象值。
答案 0 :(得分:2)
即使迭代尚未完成,是否有可能在.map函数中获取先前的迭代元素?
是的。第二个参数是当前索引,第三个参数是数组本身,因此您可以在array[index - 1]
回调内访问.map
。不过,这对于第一个元素将无效(因为没有先前的元素)。
答案 1 :(得分:0)
您可以使用处理程序中的索引:
array.map((o, index, arr) => {
let previous = arr[index - 1]; // For index === 0, the previous object will be undefined.
});
去了解一下->
Array.prototype.map
答案 2 :(得分:0)
array.map((ele, index, arr) => {
let keys = Object.keys(ele);
keys.each((key) => {
if (ele[key] === '') {
ele[key] = arr[index - 1][key];
}
});
return ele;
});