我有一个对象数组,对象的一些值是空的,我想用前一个对象的值替换它们,下面是一个示例:
[
{
name: "Mark",
surname: "Something",
},
{
name: "",
surname: "",
},
{
name: "Richard",
surname: "SomeSurname",
},
{
name: "",
surname: "",
},
];我的目标是用以前的值替换空值:
[
{
name: "Mark",
surname: "Something",
},
{
name: "Mark",
surname: "Something",
},
{
name: "Richard",
surname: "SomeSurname",
},
{
name: "Richard",
surname: "SomeSurname",
},
];发布于 2021-07-02 20:19:39
const a = [
{
name: "Mark",
surname: "Something"
},{
name: "",
surname: ""
},{
name: "Richard",
surname: "SomeSurname"
},{
name: "",
surname: ""
}
];
for (let i = 0; i < Math.trunc(a.length / 2); ++i) {
a[2 * i + 1].name = a[2 * i].name;
a[2 * i + 1].surname = a[2 * i].surname;
}
console.log(a);
发布于 2021-07-02 20:22:03
const array = [
{
name: "Mark",
surname: "Something",
},
{
name: "",
surname: "",
},
{
name: "Richard",
surname: "SomeSurname",
},
{
name: "",
surname: "",
},
];
//create new array with map es6
let newArray = array.map( (obj,index) => {
if( !obj.name && !obj.surname ){
//if values are empty, create a new one with the previous index
return { name: array[index-1].name, surname: array[index-1].surname }
}
//else return original value
return obj
})
console.log( newArray );
发布于 2021-07-02 20:21:39
我会遍历列表并保存最后一个非空对象os的索引,然后当我遇到一个空对象时更新它的值:
const list = [
{
name: "Mark",
surname: "Something",
},
{
name: "",
surname: "",
},
{
name: "Richard",
surname: "SomeSurname",
},
{
name: "",
surname: "",
},
];
let emptyIndex = 0;
for (let i = 0; i < list.length; ++i) {
if (list[i].name) {
fullIndex = i;
} else {
list[i].name = list[fullIndex].name;
list[i].surname = list[fullIndex].surname;
}
}
console.log(list);
https://stackoverflow.com/questions/68225003
复制相似问题