如何在javascript中过滤数组?

Muk*_*rma 0 javascript arrays filter

这是一个数组,

total = ["10%", 1000, "5%", 2000].如何使用javascript数组过滤器将这些过滤为两个数组,如percent = ["10%","5%"]和absolute = [1000,2000].

Mih*_*nut 5

你应该使用filter接受callback函数的方法.

filter()方法创建一个新数组,其中包含所有传递由提供的函数实现的测试的元素.

另外,使用typeof 运算符以便从数组中找出项目的类型.的typeof运算操作者返回一个字符串指示未计算的操作数的类型.

let total = ["10%", "1000", "5%", "2000"];
let percentage=total.filter(function(item){
  return typeof item == 'string' && item.includes('%');
});
console.log(percentage);
let absolute=total.filter(function(item){
  return typeof item == 'number' || !isNaN(item);
});
console.log(absolute);
Run Code Online (Sandbox Code Playgroud)


ale*_*mac 5

let total = ["10%", 1000, "5%", 2000];

let percents = total.filter(item => item.toString().includes('%'));
let numbers = total.filter(item => !item.toString().includes('%'));
console.log(percents, numbers);
Run Code Online (Sandbox Code Playgroud)