亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

從數組中篩選出字符串

從數組中篩選出字符串

天涯盡頭無女友 2022-08-04 16:52:08
我試圖解決我在Javascript中面臨的一個問題,我對JS完全陌生。這是我的代碼:    function filterOutStringfromArr(array) {        var arr = []        for (var i = 0; i < array.length; i++) {            if (typeof array[i] === 'number') {                arr[i] = array[i]            }        }        console.log(arr)    }    filterOutStringfromArr([1,2,'A','B',123])當我運行這個時,我得到這個結果:.[ 1, 2, <2 empty items>, 123 ]我知道這種情況正在發生,因為我的數組的長度是5。但是我只想將過濾后的值附加到空數組中。我該怎么做?arr[]
查看完整描述

5 回答

?
MMTTMM

TA貢獻1869條經驗 獲得超4個贊

function filterOutStringfromArr(array) {

    var arr = []

    for (var i = 0; i < array.length; i++) {

        if (typeof array[i] === 'number') {

          arr.push(array[i])

        }

    }

    console.log(arr)

}

filterOutStringfromArr([1,2,'A','B',123])

MDN鏈接相當不錯


您應該使用它將附加到數組的末尾。通過將找到的元素插入到點中,您將從索引3到5,從而獲得空元素。pushi


查看完整回答
反對 回復 2022-08-04
?
楊魅力

TA貢獻1811條經驗 獲得超6個贊

就個人而言,我只會使用正常的數組過濾器函數并測試條件。讓本機 array.filter 函數為您完成工作。下面將篩選數組并返回新數組(不修改現有數組)。


function filterToArrayOfNumbers(arrayElement) {

    return typeof arrayElement === 'number';

}

console.log([1,2,'A','B',123].filter(filterToArrayOfNumbers));


查看完整回答
反對 回復 2022-08-04
?
不負相思意

TA貢獻1777條經驗 獲得超10個贊

過濾方法將解決您的問題。


function filterOutStringfromArr(array) {

    const newArray = array.filter(item => {

        if (typeof item === 'number') {

            return item;

        }

    })    

    console.log(newArray);

}


filterOutStringfromArr([1,2,'A','B',123])


查看完整回答
反對 回復 2022-08-04
?
一只甜甜圈

TA貢獻1836條經驗 獲得超5個贊

我建議使用Array.prototype.push()方法。


function filterOutStringsfromArray(array) {

    var arr = [];

    for (let i = 0; i < array.length; i++) {

        if (typeof array[i] === 'string') {

          arr.push(array[i]);

        }

    }

    return arr;

}


filterOutStringfromArr([5, 2, 'h', 2, 's', 2]) // Expected Output: ['h', 's']


查看完整回答
反對 回復 2022-08-04
?
長風秋雁

TA貢獻1757條經驗 獲得超7個贊

arr[i] = array[i]  // <------------  your issue

i仍在遞增,因此當您查看最后一個數字(索引 4)時,它會將新數組設置為索引 4(將 2 和 3 留空)123

而不是明確設置它,你可以做arr.push(array[i])

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/push


查看完整回答
反對 回復 2022-08-04
  • 5 回答
  • 0 關注
  • 288 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號