数组方法

### 从小到大有序排列 ``` let 数组 = [2, 546, 213, 4, 3, 26, 89, 126, 45, 156, 456, 456, 165] for (let i = 0; i < 数组.length - 1; i++) { for (let j = 0; j < 数组.length - 1 - i; j++) { if (数组[j + 1] < 数组[j]) { let k = 数组[j] 数组[j] = 数组[j + 1] 数组[j + 1] = k } } } log(数组) ``` ### 去重数组 ``` let arr = [1, 2, 3, 2, 2, 1, 3, 4, 2, 5]; //去除数组中重复的数字 for (let i = 0; i < arr.length; i++) { /*获取当前元素后的所有元素*/ for (let j = i + 1; j < arr.length; j++) { //判断两个元素的值是否相等 if (arr[i] == arr[j]) { //如果相等则证明出现了重复的元素,则删除j对应的元素 arr.splice(j, 1); //当删除了当前j所在的元素以后,后边的元素会自动补位 //使j自减,再比较一次j所在位置的元素 j--; } } } console.log(arr); // 结果为 [ 1, 2, 3, 4, 5 ] ``` ### 数组中找元素 ``` let 数组 = [2, 546, 213, 4, 3, 26, 89, 126, 45, 156, 456, 456, 165] let 找 = 15 let 没找到=false for(let i=0;i<数组.length;i++){ if(数组[i]==找){ log("找到了,下标是"+i) 没找到=true break } } if(!没找到){ log("数组中没有这个元素") } ``` ###//数组去重 ``` let arr = [1, 2, 2, 3, 4]; function findDuplicates(arr) { let tmp = []; if (Array.isArray(arr)) { arr.concat().sort(function(a, b) { return a - b; // 确保数组按数字大小排序 }).forEach(function(value, index, array) { if (index > 0 && value == array[index - 1] && tmp.indexOf(value) === -1) { tmp.push(value); } }); } return tmp; } let r = findDuplicates(arr); console.log(r); // 输出重复的元素 ``` ###去数组最后一个元素 ``` let a = [11]; let b = [100, 200]; function name_(arr) { if (!Array.isArray(arr)) {//检查传入的参数是否为数组 return "不是数组" } return arr[arr.length - 1] } let r = name_(a); log(r) ``` ###检索关键词 ``` let a = "比亚迪" let 关键词 = "比亚迪|宝马|奔驰" let 关键词检索 = 关键词.split("|") for (let index = 0; index < 关键词检索.length; index++) { if (a.indexOf(关键词检索[index]) !== -1) { logd("检索到了关键词") } } ``` ###填充数组 ``` // let 空数组 = [] // let 数组2下标 = 0 // let 数组1 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 56, 66] // let 数组2 = [10, 11, 12, 20, 5] // for (let index = 0; index < 数组1.length; index++) { // let 数组2元素 = 数组2[数组2下标] // 空数组.push([数组1[index], 数组2元素]) // 数组2下标++ // if (数组2下标 >= 数组2.length) { // 数组2下标 = 0 // } // } // logd(空数组) ```