Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/456.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在数组中拼接嵌套对象_Javascript_Arrays_Object_Splice - Fatal编程技术网

Javascript 在数组中拼接嵌套对象

Javascript 在数组中拼接嵌套对象,javascript,arrays,object,splice,Javascript,Arrays,Object,Splice,我试图找到一种简单的方法,将对象从嵌套数组移动到其父数组。我一直得到“splice不是一个函数”,如果您尝试使用“moveItem()”函数,您就会看到这一点。我不知道如何重新编写它,这样它才能工作,如果它被允许做这件事的话。感谢您的帮助。简而言之,我正在尝试将对象从项[0]。包含[]移动到项[],希望这是有意义的 var项目=[{ itemIndex:0, 姓名:“一盒火柴”, 检查:“盒子又旧又湿,里面只有一根火柴。”, 位置:0,//如果位置===1000,则物料在库存中。 包含:[{

我试图找到一种简单的方法,将对象从嵌套数组移动到其父数组。我一直得到“splice不是一个函数”,如果您尝试使用“moveItem()”函数,您就会看到这一点。我不知道如何重新编写它,这样它才能工作,如果它被允许做这件事的话。感谢您的帮助。简而言之,我正在尝试将对象从项[0]。包含[]移动到项[],希望这是有意义的

var项目=[{
itemIndex:0,
姓名:“一盒火柴”,
检查:“盒子又旧又湿,里面只有一根火柴。”,
位置:0,//如果位置===1000,则物料在库存中。
包含:[{
项目索引:1,
姓名:“一场比赛”,
检查:“一根火柴。”,
地点:0,
包含:[],
隐藏:是的,
收藏:真的,
用法:2,
useWithFail:0,
useWithFailResponse:“盒子太潮湿,无法点燃火柴”,
useWithSuccessResponse:null
}],//使用数组在项中包含项。
隐藏:false,//如果隐藏,则项目不能显示在库存或房间库存中
收藏:真的,
useWith:null,//此项可以与-index或null一起成功使用的项
useWithFail:1,//用于失败但有自己唯一失败消息的项-索引或null
useWithFailResponse:“盒子太潮湿,无法点燃火柴”,
useWithSuccessResponse:null
}, {
项目索引:2,
名称:“一个封闭的柜子”,
检查:“你发现里面有一把菜刀”,
地点:4,
包含:[],
隐藏:假,
收藏:假,
useWith:null,
useWithFail:null,
useWithFailResponse:null,
useWithSuccessResponse:“比赛进入了生活!”
}, {
项目索引:3,
名称:“菜刀”,
检查:“它又旧又生锈了。”,
地点:4,
包含:[],
隐藏:是的,
收藏:真的,
用法:1,
useWithFail:null,
useWithFailResponse:null,
useWithSuccessResponse:“这场比赛点燃了生命的火花!”
}, ];
函数moveItem(){
推送(项[0]。包含[0]。拼接(0,1));

}
Array.prototype.splice()返回

包含已删除元素的数组

要将某个对象从嵌套数组向上移动到父级,请使用以下方法:

items.push(items[0].contains.splice(0, 1)[0]);

contains[0]不是数组,而是对象。您应该
contains.splice(0,1)
而不是
items[0]。contains.splice(0,1)