js如何给数组里面添加的固定的值?

有一个数组

arr = [480, 678485, 121, 121, 121, 2461, 341010, 2799, 18457, 121, 274, 13409, 8431, 3455, 833623, 33111, 459]

数组里面的元素大小不固定和长度不固定,这里只是一个示例

想要通过获取这组数组的最大值和最小值来给这组数组分区间,比如说分五个区间
现有一组固定的数组 arr1 = [1, 3, 6, 8, 10] 把这个五个数
根据上面的区间分别替换掉对应的元素形成一个新的数组

这个逻辑应该怎么写


回答:

function slimList(target, region){

let min = Math.min.apply(null, target)

let max = Math.max.apply(null, target)

let length = region.length

let step = (max - min) / length

return target.map(item => region[Math.min((item - min) / step | 0, length - 1)])

}

let arr = [480, 678485, 121, 121, 121, 2461, 341010, 2799, 18457, 121, 274, 13409, 8431, 3455, 833623, 33111, 459]

let arr1 = [1, 3, 6, 8, 10]

slimList(arr, arr1)

// [1, 10, 1, 1, 1, 1, 6, 1, 1, 1, 1, 1, 1, 1, 10, 1, 1]

slimList([5, 8, 30, 38, 50], arr1)

// [1, 1, 6, 8, 10]

以上是 js如何给数组里面添加的固定的值? 的全部内容, 来源链接: utcz.com/p/933431.html

回到顶部