這是我的陣列
export const someList = {
something1: 'some string 1',
someArr: [
{
item: 'item 1',
},
},
{
item: 'item 2',
},
},
{
item: 'item 3',
},
],
something2: {
some: 'some string 2'
},
};
好的,所以我想要實作的是構造一個看起來像這樣的新陣列:
export const newList = {
something1: 'some string 1',
someArr: [
{
item: 'item 1',
},
},
{
item: 'item 2',
},
],
something2: {
some: 'some string 2'
},
};
所以一切都保持不變,除了newList只從someArr.
我已經嘗試過這個并且它作業正常,但我不知道如何將“外部”部分保留在新陣列中(something1 和 something2)。
const newList = someList.someArr.slice(0, 2)
我怎樣才能構造一個新陣列,保留我想要的東西,但仍然從更深的嵌套陣列中切片?
謝謝。
uj5u.com熱心網友回復:
Event_Horizo??n 的回答是正確的。
創建新物件的另一種方法:
const someList = {
something1: 'some string 1',
someArr: [
{
item: 'item 1',
},
{
item: 'item 2',
},
{
item: 'item 3'
}
],
something2: {
some: 'some string 2'
},
};
let newList={...someList,someArr:someList.someArr.slice(0,2)}
console.log(newList)
uj5u.com熱心網友回復:
好的,評論后我重新閱讀了問題,我認為您正在嘗試創建一個新的OBJECT而不是新的ARRAY(花括號是一個物件)。
所以用你的代碼做一個OBJECT深拷貝,然后改變內部陣列,它看起來像:
export const someList = {
something1: 'some string 1',
someArr: [
{
item: 'item 1',
},
},
{
item: 'item 2',
},
},
{
item: 'item 3',
},
],
something2: {
some: 'some string 2'
},
};
let newList=JSON.parse(JSON.stringify(someList));
newList.someArr=newList.someArr.slice(0,2);
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/370617.html
標籤:javascript html 数组
