1. findIndex()

  • 方法返回传入一个测试条件(函数)符合条件的数组第一个元素位置。
  1. var ages = [3, 10, 18, 20];
  2. function checkAdult(age) {
  3. return age >= 18;
  4. }
  5. function myFunction() {
  6. document.getElementById("demo").innerHTML = ages.findIndex(checkAdult);
  7. }

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 ]

  1. <a name="bp4vpt"></a>
  2. ### 3. slice()
  3. - 该方法可从已有的数组中返回选定的元素。
  4. - 接收两个参数
  5. - 第一个规定从何处开始选取。
  6. - 规定从何处结束选取
  7. - 返回值: 返回一个新的数组,包含从 start 到 end (不包括该元素)的 arrayObject 中的元素。
  8. ```javascript
  9. let arr = [1, 2, 3, 4, 5];
  10. let arr1 = arr.slice(1,2);
  11. 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传入的函数里在加判断就可以了。