点击打开视频讲解更加详细
十余年的文安网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。全网整合营销推广的优势是能够根据用户设备显示端的尺寸不同,自动调整文安建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。成都创新互联公司从事“文安网站设计”,“文安网站推广”以来,每个客户项目都认真落实执行。
期望结果:
将数组扁平化并去重
最终得到一个升序且不重复的数组
步骤:
1、数组扁平化
2、去重
3、排序
<template>
<div id="home">
JS实现数组扁平化处理,妙不可言啊!
<!-- 期望结果:
将数组扁平化并去重
最终得到一个升序且不重复的数组
步骤:
1、数组扁平化
2、去重
3、排序 -->
</div>
</template>
<script>
export default {
name: "home",
data() {
return {
arr: [
[1, 2, 3],
[3, 4, 5, 5],
[6, 7, 8, 9],
[11, 12, [12, 12, [13]]],
10,
],
};
},
mounted() {
// 方法 1
// let list = this.flat(this.arr);
// console.log(list);
// 方法 2
let list2 = this.flat2(this.arr);
console.log(list2);
},
components: {},
methods: {
//1、方法1 使用递归;数组扁平化处理
flat(arr) {
let result = arr.map((item) => {
if (Array.isArray(item)) {
return this.flat(item);
}
return [item];
});
return this.removal([].concat(...result));
},
//方法2 使用while循环;处理数组扁平化
flat2(arr) {
while (arr.some((item) => Array.isArray(item))) {
arr = [].concat(...arr);
}
return this.removal(arr);
},
// 2、去重
removal(arr) {
// return Array.from(new Set(arr));
return this.sort(Array.from(new Set(arr)));
},
//3、排序
/**
* 正数 a > b 降序(倒序)
* 0 a = b
* 负数 a < b 升序
*/
sort(arr) {
return arr.sort((a, b) => a - b);
},
},
};
</script>
<style scoped>
</style>
效果图:
若对您有帮助,请点击跳转到B站一键三连哦!感谢支持!!!
新闻标题:【面试题】JS实现数组扁平化处理,妙不可言啊!
文章URL:https://www.cdcxhl.com/article8/dsojgip.html
成都网站建设公司_创新互联,为您提供网站维护、品牌网站制作、网站制作、营销型网站建设、Google、搜索引擎优化
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联