关于数组问题 javascript

let array = [5, 26, 58, 69, 86, 102, 105, 107, 118, 146, 169, 195, 214, 237, 274, 325, 350, 396, 436, 474, 531, 584, 618, 656, 699, 747, 828, 933, 1005, 1072, 1122, 1171, 1219, 1256...];
let newArray = [];

以100开始,如果数组中有超过100或等于100的,如[69, 86, 102, 105, 107],取102这个数放到新的数组里面去,如果数组中有超过1000的或等于1000的,如[828, 933, 1000,1005, 1072, 1122,],取1000第一个数放到新数组里面,大于或等于10000的,大于或等于1000000等以此类推,请问这个该怎么实现呢
阅读 1.8k
4 个回答
let array = [5, 26, 58, 69, 86, 102, 105, 107, 118, 146, 169, 195, 214, 237, 274, 325, 350, 396, 436, 474, 531, 584, 618, 656, 699, 747, 828, 933, 1005, 1072, 1122, 1171, 1219, 1256];
var num = 10;
console.log(array.filter(v => v >= num ? (num *= 10, true) : false));//[26, 102, 1005]
let array100 = [69, 86, 102, 105, 107].filter(function(a) {return a >= 100}); // 取大于等于100
let array1000 = [828, 933, 1000, 1005, 1072, 1122,].filter(function(a) {return a >= 1000}); // 取大于等于1000
// 以此类推
let array = [5, 26, 58, 69, 86, 102, 105, 107, 118, 146, 169, 195, 214, 237, 274, 325, 350, 396, 436, 474, 531, 584, 618, 656, 699, 747, 828, 933, 1005, 1072, 1122, 1171, 1219, 1256];
//array 是要筛选的数组,count是要大于的值
function getNumber(array,count){
    let arr=array.filter((x)=>{
        return x>count
    })
    return arr
}
console.log(getNumber(array,1000))
console.log(getNumber(array,100))

你这个newArray是个什么样子?这样的吗?

[
    [], // 100以内
    [], // 100及以上
    [], // 1000及以上
    ... // 等等
]

还是怎么样?

而且,100及以上数组内的数,有上限吗? 比如100-999,还是只要是100及以上就行?

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题