标签:flat 面试题 Infinity 扁平化 reduce arr 数组 高频 cur
数组扁平化是指将一个多维数组变为一维数组。
const arr = [1, [2, [3, 4], 5], 6];
// 方法一:使用flat(Infinity)
console.log(arr.flat(Infinity), 'es6的多维数组拉平的方法flat(Infinity)');
// [1, 2, 3, 4, 5, 6] "es6的多维数组拉平的方法flat(Infinity)"
// 方法二:利用正则
const reg = /\[|\]|,/g;
let result2 = JSON.stringify(arr).replace(reg, '').split('');
console.log(JSON.parse('[' + result2 + ']'), '利用正则');
// [1, 2, 3, 4, 5, 6] "利用正则"
// 方法三:使用reduce
let result3 = arr => {
return arr.reduce((pre, cur) => {
return pre.concat(Array.isArray(cur) ? result3(cur) : cur);
}, [])
}
console.log(result3(arr), '使用reduce')
// [1, 2, 3, 4, 5, 6] "使用reduce"
标签:flat,面试题,Infinity,扁平化,reduce,arr,数组,高频,cur 来源: https://blog.csdn.net/ZMN0057/article/details/117375323
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。