第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用 splice() 刪除對象的數(shù)組元素

使用 splice() 刪除對象的數(shù)組元素

慕容708150 2023-08-24 17:30:09
下面我定義了一個對象,然后創(chuàng)建了一個 3x3 數(shù)組,其中每個元素保存一個 myObject 實例。我期望函數(shù)removeNumberFromArray迭代每個元素以及每個對象,并從名為myNumbers 的數(shù)組中刪除數(shù)字32。我的評論指出了它實際記錄到控制臺的內(nèi)容。結(jié)果是一個空數(shù)組,我希望 9x9 數(shù)組中的每個對象的 myNumbers 數(shù)組等于 [7,51,2,0,9]。我看不出哪里出了問題,我嘗試將問題分解為更小的步驟,但拼接似乎有效,有什么想法嗎?我正在將 VS Code 與 Liveserver Extension 和 Firefox 瀏覽器結(jié)合使用。const myObject = {    myNumbers: [7,32,51,2,0,9],    myName: "John",    myLastName: undefined,    age: 26};for (i = 0; i <= 2; i++) {    for (j = 0; j <= 2; j++) {        myArray[i][j] = Object.create(myObject);    }}function removeNumberFromArray(numberToRemove) {    myArray.forEach(ele => {        ele.forEach(square => {            let index = square.myNumbers.indexOf(numberToRemove);            square.myNumbers.splice(index, 1);        })    });}console.log(myArray[0][0].myNumbers); //[7, 32, 51, 2, 0, 9]removeNumberFromArray(32);console.log(myArray[0][0].myNumbers);   //[]
查看完整描述

2 回答

?
米脂

TA貢獻1836條經(jīng)驗 獲得超3個贊

通過使用,Object.create(myObject)您正在使用原型繼承來創(chuàng)建一個繼承自 的對象myObject,這不是您想要的。我建議您創(chuàng)建一個小型“工廠”函數(shù)來生成像這樣的獨特對象:




查看完整回答
反對 回復(fù) 2023-08-24
?
小唯快跑啊

TA貢獻1863條經(jīng)驗 獲得超2個贊

const arrayLike = { length: 3 };

const myArray = Array.from(arrayLike, () => Array.from(arrayLike));


const objectFactory = () => ({

    myNumbers: [7, 32, 51, 2, 0, 9],

    myName: "John",

    myLastName: undefined,

    age: 26

});


for (i = 0; i <= 2; i++) {

    for (j = 0; j <= 2; j++) {

        myArray[i][j] = objectFactory();

    }

}


function removeNumberFromArray(numberToRemove) {

    myArray.forEach(ele => {

        ele.forEach(square => {

            let index = square.myNumbers.indexOf(numberToRemove);

            if(~index) square.myNumbers.splice(index, 1);

        })

    });

}


console.log(myArray[0][0].myNumbers); //[7, 32, 51, 2, 0, 9]

removeNumberFromArray(32);

console.log(myArray[0][0].myNumbers);   //[]


查看完整回答
反對 回復(fù) 2023-08-24
  • 2 回答
  • 0 關(guān)注
  • 226 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號