簡體   English   中英

如何使用 function 將 object 從一個陣列移動到另一個陣列?

[英]How can I move an object from one array to another array with function?

大家好,親愛的朋友們。 在學習 React 的過程中,我注意到我缺少 javascript,於是我開始認真學習 javascript。

讓我試着告訴你我想要做什么。 我有兩個 arrays。 我想將array1 中的實例元素的元素之一移動到array2 中的實例。

我該怎么做? 你會推薦哪種方法? 拼接元素並將其向下推是否有效? 如何為此編寫 function? 如果你能幫忙,我會很高興。

const array1 = [
      {
        id: '1',
        instance: [
            { id: '34', title: 'Example 1' },
            { id: '35', title: 'Example 2' },
            { id: '36', title: 'Example 3' },  // delete this object from here 
      },
      {
        id: '2',
        instance: [
            { id: '37', title: 'Example 4' }
        ],
      },
    ];

我想將我刪除的元素移動到這個數組中。

const array2 = [
      {
        id: '1',
        instance: [
            { id: '34', title: 'Example 1' },
            { id: '35', title: 'Example 2' },
      },
      {
        id: '2',
        instance: [
            { id: '37', title: 'Example 4' },
        //  { id: '36', title: 'Example 3' }, // i want to move here 
        ],
      },
    ];

您可以使用pop()從數組中刪除最后一個元素。

 const array1 = [{ id: '1', instance: [{ id: '34', title: 'Example 1' }, { id: '35', title: 'Example 2' }, { id: '36', title: 'Example 3' } ], }, { id: '2', instance: [{ id: '37', title: 'Example 4' }], }, ]; let tmp = array1[0].instance[2]; array1[0].instance.pop(); array1[1].instance.push(tmp); console.log(array1);

 const array1 = [ { id: '1', instance: [ { id: '34', title: 'Example 1' }, { id: '35', title: 'Example 2' }, { id: '36', title: 'Example 3' }, // delete this object from here ] }, { id: '2', instance: [ { id: '37', title: 'Example 4' } ] } ]; const array2 = [ { id: '1', instance: [ { id: '34', title: 'Example 1' }, { id: '35', title: 'Example 2' }, ] }, { id: '2', instance: [ { id: '37', title: 'Example 4' }, // { id: '36', title: 'Example 3' }, // i want to move here ] } ]; //answer function transfer(fromArr,index,toArr){ toArr.push(fromArr.splice(index,1)) } transfer(array1[0].instance,2,array2[1].instance) console.log("first array",array1) console.log("second array",array2)

 const array1 = [ { id: '1', instance: [ { id: '34', title: 'Example 1' }, { id: '35', title: 'Example 2' }, { id: '36', title: 'Example 3' },] // delete this object from here }, { id: '2', instance: [ { id: '37', title: 'Example 4' } ], }, ]; var temp = array1[0] array1.splice(0,1); const array2 = [ { id: '1', instance: [ { id: '34', title: 'Example 1' }, { id: '35', title: 'Example 2' },] }, { id: '2', instance: [ { id: '37', title: 'Example 4' }, // { id: '36', title: 'Example 3' }, // i want to move here ], }, ]; array2.push(temp) console.log(array2)

首先,您的 object 有錯誤的括號。 這是array1的固定版本


const array1 = [
      {
        id: '1',
        instance: [
            { id: '34', title: 'Example 1' },
            { id: '35', title: 'Example 2' },
            { id: '36', title: 'Example 3' },  // delete this object from here 
            ]
      },
      {
        id: '2',
        instance: [
            { id: '37', title: 'Example 4' }
        ],
      },
    ];


現在刪除一個元素,IDK 你是如何得到這個鍵的,所以我將它聲明為常量,由你來修改

let key = 0;
let Nested_key = 2;
let removed =  array1[key].instance.splice(Nested_key,1) //1st param= 0: the position, 2nd param = 1 number of elements to rm starting from param1 position

現在我們刪除了元素,它存儲在removed(長度=1的數組)中,現在插入它

array2[key].instance.push(removed[0]);

從您的帖子來看,似乎您已經知道什么是拼接和推送以及它們的作用(名稱非常清晰直觀)。 如果我的回答中有任何您不理解的部分,請隨時要求澄清

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM