@
目录
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
浙公网安备 33010602011771号