如何在不发生变化的情况下连接对象和数组



我试图在不更改原始数组(不进行更改)的情况下,在数组的开头添加一个对象。我成功地用concat方法在末尾添加了它,但无法更改顺序。有什么想法吗?

const addOnData = {
id: 0,
value: "ID 0"
}
const array = [
{
id: 1,
value: "ID 1"
},
{
id: 2,
value: "ID 2"
},
{
id: 3,
value: "ID 3"
},
]
btn[1].addEventListener('click', (e)=>{
const newArray = addOnData.concat(array);
console.log(newArray);
e.stopPropagation();
});

addOnData是一个对象,而不是数组,因此您必须执行

const newArray = [addOnData].concat(array);

const newArray = [addOnData, ...array];

const addOnData = {
id: 10,
value: "Extra data"
}
const array = [
{
id: 1,
value: "Value for ID 1"
},
{
id: 2,
value: "Value for ID 2"
},
{
id: 3,
value: "Value for ID 3"
},
]
console.log([addOnData].concat(array))
console.log([addOnData,...array])

您可以使用新元素和array中的所有元素创建一个新数组

const addOnData = {
id: 10,
value: "Extra data"
}
const array = [
{
id: 1,
value: "Value for ID 1"
},
{
id: 2,
value: "Value for ID 2"
},
{
id: 3,
value: "Value for ID 3"
},
]
btn[1].addEventListener('click', (e)=>{
const newArray = [addOnData, ...array];
console.log(newArray);
e.stopPropagation();
});

示例

const addOnData = {
id: 10,
value: "Extra data"
}
const array = [
{
id: 1,
value: "Value for ID 1"
},
{
id: 2,
value: "Value for ID 2"
},
{
id: 3,
value: "Value for ID 3"
},
]
const newArray = [addOnData, ...array];
console.log(newArray);

相关内容

最新更新