根据过滤器/类似部分字符串

时间:2017-05-02 01:43:50

标签: javascript arrays filter

我有一个数字数组

var arrayA = [65432000,65432001,65431002,65431222,65430123,65430124,65430125]

我想根据前五位数进行过滤,并返回过滤后的元素数组。即,如果我通过65432是我的过滤条件,它应该返回

var resultArray = [65432000,65432001] 

如果是65430那么

var resultArray = [65430123,65430124,65430125]

如果是65431那么

var resultArray = [65431002,65431222] 

我不应该遗漏arrayA中的任何值。

如何使用javascript获取此功能?

1 个答案:

答案 0 :(得分:4)

您当前的代码有问题,数据类型不正确。如果您认为项目为number,则无法使用-

也就是说,假设正确的数据类型为number,您可以创建一个新数组,根据条件startsWith(prefix)过滤现有数据。

var arrayA = [65432000,65432001,65431002,65431222,65430123,65430124,65430125];

function filter(prefix) {
    return arrayA.filter(function (item) {
       return item.toString().startsWith(prefix.toString());
  })
}

var res = filter(65430);
console.log(res); //[65430123, 65430124, 65430125]