gpt4 book ai didi

javascript - 拼接数组中的嵌套对象

转载 作者:行者123 更新时间:2023-11-30 15:33:52 25 4
gpt4 key购买 nike

我正在尝试找到一种简单的方法来将对象从嵌套数组中移出并将其移至其父数组。我不断收到“splice is not a function”,如果您尝试使用“moveItem()”函数,您会看到这一点。我不知道如何重写它才能工作,如果它甚至被允许做这件事的话。任何帮助表示赞赏。简而言之,我正在尝试将对象从 items[0].contains[] 移动到 items[] 希望这是有道理的。

var items = [{
itemIndex: 0,
name: "a box of matches",
examine: "The box is old and damp,you find a single match inside.",
location: 0, // if location === 1000, items is in inventory.
contains: [{
itemIndex: 1,
name: "a match",
examine: "A single match.",
location: 0,
contains: [],
hidden: true,
collectable: true,
useWith: 2,
useWithFail: 0,
useWithFailResponse: "the box is too damp to light the match",
useWithSuccessResponse: null
}], // Contain items inside items using array.
hidden: false, // if hidden, item cannot show up in invetory or room inventory
collectable: true,
useWith: null, // Item that this item can be successfully used with - index or null
useWithFail: 1, // Use with item that fails but has it's own unique fail message - index or null
useWithFailResponse: "the box is too damp to light the match",
useWithSuccessResponse: null
}, {
itemIndex: 2,
name: "a closed cupboard",
examine: "You find a kitchen knife inside",
location: 4,
contains: [],
hidden: false,
collectable: false,
useWith: null,
useWithFail: null,
useWithFailResponse: null,
useWithSuccessResponse: "The match spaks into life!"
}, {
itemIndex: 3,
name: "a kitchen knife",
examine: "It is old and rusty.",
location: 4,
contains: [],
hidden: true,
collectable: true,
useWith: 1,
useWithFail: null,
useWithFailResponse: null,
useWithSuccessResponse: "The match sparks into life!"
}, ];

function moveItem() {
items.push(items[0].contains[0].splice(0, 1));
}

最佳答案

Array.prototype.splice() 返回

An array containing the deleted elements.

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

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

关于javascript - 拼接数组中的嵌套对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41872745/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com