数组扁平化去重并升序
// 数组扁平化去重并升序
var arr = [1,22,[13,4,[15,[26,37]]],18];
function flat(arr){//some() 方法用于检测数组中的元素是否满足指定条件(函数提供)
while(arr.some(item=>Array.isArray(item))){//这里主要用some方法去判断数组arr中的每一项是否是数组,如果是返回true,然后继续向下执行while的函数体
arr = [].concat(...arr)
}
return arr
}
console.log(flat(arr))//flat函数用于扁平化arr结果是:[1, 22, 13, 4, 15, 26, 37, 18]
//对扁平化的数组进行升序
newArr = flat(arr).sort((a,b)=>a-b)
console.log(newArr)
知识点:
concat() 方法用于连接两个或多个数组。
该方法不会改变现有的数组,而仅仅会返回被连接数组的一个副本。
isArray() 方法用于判断一个对象是否为数组。
如果对象是数组返回 true,否则返回 false。用法:Array.isArray(obj)
some() 方法用于检测数组中的元素是否满足指定条件(函数提供)。
some() 方法会依次执行数组的每个元素:
- 如果有一个元素满足条件,则表达式返回true , 剩余的元素不会再执行检测。
- 如果没有满足条件的元素,则返回false。
注意: some() 不会对空数组进行检测。
注意: some() 不会改变原始数组。
前往下一道编程题:https://blog.csdn.net/qq_41579104/article/details/111192605
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/149783.html