Javascript 在数组中推送对象创建另一个数组

Javascript 在数组中推送对象创建另一个数组,javascript,Javascript,我有这个阵列: var arr = this.products.find(x => x.id == 3); 我尝试在这个数组中推送一个对象,如下所示: arr.push({ id: "5", name: "foo3" }); 问题是我得到了一个包含两个数组的数组 注意:this.products在类的原型中定义,并包含一个对象数组 console.log(arr): [Array(4)] 0: Array(4) 0: {id: "1", name: "test"} 1: {id: "

我有这个阵列:

var arr = this.products.find(x => x.id == 3);
我尝试在这个数组中推送一个对象,如下所示:

arr.push({ id: "5", name: "foo3" });
问题是我得到了一个包含两个数组的数组

注意:this.products在类的原型中定义,并包含一个对象数组

console.log(arr):

[Array(4)]
0: Array(4)
0: {id: "1", name: "test"}
1: {id: "2", name: "foo"}
2: {id: "3", name: "foo2"}
length: 3
__proto__: Array(0)
length: 1
__proto__: Array(0)
让arr=[
{id:“1”,选项:{bound_id:“2”},
{id:“2”,选项:{bound_id:“12”},
{id:“12”,选项:{bound_id:“2”}
]
arr.push({id:“5”,选项:{bound_id:“4”})

console.log(arr)
首先,
find
将返回找到的满足作为

其次,对象没有
push
功能

正如您在下面的代码片段中看到的,您的代码不起作用,但我们可能知道您在尝试什么

this.products=[{
id:“1”,
选项:{
绑定标识:“5”
}
},
{
id:“2”,
选项:{
绑定标识:“8”
}
},
{
id:“3”,
选项:{
绑定标识:“1”
}
},
{
id:“4”,
选项:{
绑定标识:“1”
}
}
]
var arr=this.products.find(x=>x.id==3);
log(“这不是一个数组”,arr)
//这不是一个函数,它甚至不工作。
arr.push({
id:“5”,
名称:“foo3”

});不,如果您的代码示例是准确的,则不需要。请参阅@ThatBrianDude的答案。除非
此更新,否则更新的意义将更小。产品
包含具有推送方法的对象。在执行
arr.push之前,显示
console.log(JSON.stringify(arr))
输出。您不希望
arr.push
影响
此产品,是吗?