5 回答

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

TA貢獻1811條經驗 獲得超6個贊
就個人而言,我只會使用正常的數組過濾器函數并測試條件。讓本機 array.filter 函數為您完成工作。下面將篩選數組并返回新數組(不修改現有數組)。
function filterToArrayOfNumbers(arrayElement) {
return typeof arrayElement === 'number';
}
console.log([1,2,'A','B',123].filter(filterToArrayOfNumbers));

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])

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']

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
添加回答
舉報