1. findIndex()
- 方法返回传入一个测试条件(函数)符合条件的数组第一个元素位置。
var ages = [3, 10, 18, 20];
function checkAdult(age) {
return age >= 18;
}
function myFunction() {
document.getElementById("demo").innerHTML = ages.findIndex(checkAdult);
}
2. splice()
- splice() 方法向/从数组中添加/删除项目,然后返回被删除的项目
- ```javascript
删除一个数组中的元素,返回删除的元素
- 第一个参数,开始位置
- 第二个参数,删除位数
let arr = [1, 2, 3, 4, 5]; let arr2 = [5]; arr2 = arr.splice(0,2); console.log(arr); console.log(arr2);
结果: [ 3, 4, 5 ] [ 1, 2 ]
如果有第三个参数,则将第三个参数加入到删除的那个数组中,删除的元素的那个位置:
let arr = [1, 2, 3, 4, 5]; let arr2 = [5]; arr2 = arr.splice(0,1, 8); console.log(arr); console.log(arr2);
结果: [ 8, 2, 3, 4, 5 ] [ 1 ]
<a name="bp4vpt"></a>
### 3. slice()
- 该方法可从已有的数组中返回选定的元素。
- 接收两个参数
- 第一个规定从何处开始选取。
- 规定从何处结束选取
- 返回值: 返回一个新的数组,包含从 start 到 end (不包括该元素)的 arrayObject 中的元素。
```javascript
let arr = [1, 2, 3, 4, 5];
let arr1 = arr.slice(1,2);
console.log(arr1); // [2]
4. sort()
- sort()方法用于对数组的排序,并返回数组。基本用法为:arr.sort();默认为升序排列。
var arr = [5,3,1,6,4,3,2];
arr.sort(); // [1, 2, 3, 3, 4, 5, 6]
如果想要按照其他标准进行排序,sort()方法可以传入一个函数,函数通过返回一个值来决定这两个值需不需要交换位置。
arr.sort(function(a,b){ return a-b; });
如果a - b > 0,则 a 和 b 交换位置,当然这样写出来的话是升序排序,如果要降序排则把a-b改成b-a就
可以实现,就是说b大于a,则b和a交换位置,把大的值排前面。a,b的值就是从arr[0],arr[1]开始比较的,
类似冒泡排序。
如果需要多重排序,只需要在sort传入的函数里在加判断就可以了。