公共项查找---02_多个数组查找子项
来源:互联网 发布:mysql select嵌套 编辑:程序博客网 时间:2024/06/16 09:09
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title></head><body><script> var arr_arr = [[3,8,5,3],[1,9,4,3,6,7,5,2],[3,4,5],[5,6,7,3]]; //公共子项 3 , 5 /* * 算法: * 1.先去重,然后将数组合并为一个数组 * 2.将合并的数组进行遍历,把单个数字形成一个数组,例如[3,3,3,3] * 3、然后取出 数字数组的长度 === arr_arr.length的头一项 * */ function find(arr){ // 存储公共子项 let result = []; // 合并为大数组 let bigArr = []; // 遍历最外围数组, 合并为大数组 arr.forEach(function (ele) { // 这时的ele依然是个数组,例如[3,8,5] // 1.去重,合并为一个大数组 unique(ele).forEach(function (num) { bigArr.push(num); }); }); // 2.将合并的数组进行遍历,把单个数字形成一个数组,例如[3,3,3,3] // 从大数组中取出每一个值,形成数组 let obj = {}; bigArr.forEach(function (num) { if ( !obj[num] ) { obj[num] = [num]; } else { obj[num].push(num); } }); //console.log(obj); // 3、然后取出 数字数组的长度 === arr_arr.length的头一项 for ( let attr in obj ) { if ( obj[attr].length === arr.length ) { result.push(Number(attr)); } } //console.log(result); return result; } /* * 数组去重 * */ function unique(arr){ // 去重后的数组 let result = []; let obj = {}; // 遍历数组 arr.forEach(function (ele) { if ( !obj[ele] ) { obj[ele] = 1; result.push(ele); } }); return result; } console.log(find(arr_arr));</script></body></html>
0 0
- 公共项查找---02_多个数组查找子项
- 公共项查找---04_多个数组查找子字符串
- 公共项查找---01_两个数组查找子项
- 公共项查找---03_两个数组查找子字符串
- [LeetCode-14] Longest Common Prefix(多个字符串公共字符子串查找)
- 1147: 查找子数组
- 1147: 查找子数组
- 网易_在数组中查找前K个元素
- 查找---最大公共子串、最长公共子序列
- LCS 查找最大公共子串
- 两个数组查找公共部分算法
- 查找字符串数组的最大公共前缀
- 查找_二分查找
- 查找--子字符串查找
- QTreeView中finditems查找子项
- 数据结构(java)_数组顺序查找
- 数组_例题:折半查找法
- Java_数组操作_二分法查找
- linux的Ext2文件系统(序)
- mvc记住密码功能
- No enclosing instance of type xxx is accessible 问题及解答,静态方法调用动态方法问题
- Java中的陷阱题
- RMI流程简述
- 公共项查找---02_多个数组查找子项
- Docker attach正确的退出方式
- 自定义View之圆形TextView
- sqk小结
- MongoDB数据库设计中6条重要的经验法则2
- PCIe学习笔记(19)--- Power Management (4)--software init link pwr mng
- 公共项查找---03_两个数组查找子字符串
- 笔记:ffmpeg中的音频相关知识点
- fastjson 工具类