数组方法
### 从小到大有序排列
```
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(空数组)
```