我有一个数字数组
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获取此功能?
答案 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]