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条经验 获得超5个赞
就个人而言,我只会使用正常的数组过滤器函数并测试条件。让本机 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
添加回答
举报