@

1.Array.prototype.splice()

splice()函数可向数组中添加/删除/替换元素,返回被删除的元素此方法会改变原数组****
用法:array.splice(start,amount, item1, item2)

  • start:开始位置
  • amout:整数。要被删除/替换的元素个数,如果为0表示增加元素。
  • item:没有item则表示删除元素,有则表示要添加或者替换的元素。
    (1)添加元素
var myFish = ["angel", "clown", "mandarin", "sturgeon"];
var removed = myFish.splice(2, 0, "drum");
//运算后的 myFish: ["angel", "clown", "drum", "mandarin", "sturgeon"]

(2) 替换元素

var myFish = ["angel", "clown", "mandarin", "sturgeon"];
var removed = myFish.splice(2, 1, "drum");
//运算后的 myFish: ["angel", "clown", "drum", "sturgeon"]

(3) 删除元素

var myFish = ["angel", "clown", "mandarin", "sturgeon"];
var removed = myFish.splice(2, 1); //删除Index为2开始的一个元素
//运算后的 myFish: ["angel", "clown", "sturgeon"]

Array.prototype.filter()

2.filter() 方法返回一个满足回调函数的所有元素组成的数组此方法不会改变原数组
callback 被调用时传入三个参数:

  • 元素的值
  • 元素的索引
  • 被遍历的数组本身
const words = ['spray', 'limit', 'elite', 'exuberant', 'destruction', 'present'];

const result = words.filter((word,index) => word.length>6 && index > 2);

console.log(result);
// expected output: Array ["exuberant", "destruction", "present"]
Array.prototype.forEach()

3.forEach(callback(currentValue [, index [, array]])[, thisArg]) 方法对数组的每个元素执行一次callback的函数。返回值为undefined,不改变原数组
可依次向 callback 函数传入三个参数:

  • 数组当前项的值
  • 数组当前项的索引
  • 数组对象本身
const array1 = ['a', 'b', 'c'];

array1.forEach(element => console.log(element));

forEach方法会遍历数组中的每一个元素,除非抛出异常才会终止,如果希望跳出循环,可使用every()、some()、find()、findIndex()这些方法。

Array.prototype.map()

4.map函数 返回一个由原数组每个元素执行回调函数的结果组成的新数组。不修改原数组
callback 函数会被自动传入三个参数:

  • 数组元素,
  • 元素索引,
  • 原数组本身。
    通常在使用map时,callback函数只需要接收一个参数,即正在处理的元素,但并不是map只给回调传了一个函数。因此
["1", "2", "3"].map(parseInt);
//输出[1, NaN, NaN]

这里的parseInt函数接受两个参数,(1)元素本身(2)回调函数的基 第三个参数被parseInt忽视了。

// parseInt(string, radix) -> map(parseInt(value, index))
/*  first iteration (index is 0): */ parseInt("1", 0); // 1
/* second iteration (index is 1): */ parseInt("2", 1); // NaN
/*  third iteration (index is 2): */ parseInt("3", 2); // NaN
Array.prototype.some()

5.some() 方法测试数组中是不是至少有1个元素通过了被提供的函数测试。返回的是一个Boolean类型的值,不会改变原数组
callback 函数会被自动传入三个参数:

  • 数组元素,
  • 元素索引,
  • 原数组本身。
Array.prototype.every()

6.every() 方法测试一个数组内的所有元素是否都能通过某个指定函数的测试。它返回一个布尔值
返回的是一个Boolean类型的值,不会改变原数组
callback 函数会被自动传入三个参数:

  • 数组元素,
  • 元素索引,
  • 原数组本身。
const array1 = [1, 30, 39, 29, 10, 13];
array1.every(x => x<40);
// expected output: true
 posted on 2020-09-13 21:35  en、  阅读(127)  评论(0)    收藏  举报