网站404页面设置,wordpress作者权限拿shell,asp手机网站源码,wordpress素材类主题JavaScript 数组常用的方法介绍 四
push() 用于将一个或多个元素添加到数组的末尾#xff0c;并返回修改后的数组的新长度。(注意#xff1a; push() 方法会修改原始数组#xff0c;而不是创建一个新的数组。) 语法#xff1a;
array.push(element1, element2, ..., elem…JavaScript 数组常用的方法介绍 四
push() 用于将一个或多个元素添加到数组的末尾并返回修改后的数组的新长度。(注意 push() 方法会修改原始数组而不是创建一个新的数组。) 语法
array.push(element1, element2, ..., elementN)参数 element1, element2, …, elementN: 要添加到数组末尾的元素。 返回值 修改后的数组的新长度。 具体使用示例
let arr [1, 2, 3];arr.push(4); // 向数组末尾添加元素
console.log(arr); // [1, 2, 3, 4]arr.push(5, 6); // 可以一次添加多个元素
console.log(arr); // [1, 2, 3, 4, 5, 6]let arr [1, 2, 3, 1, 2, 3, 4, 5, 6, 7, 1, 2, 3, 4, 5, 6, 7, 8];
let uniqueArr [];
arr.forEach((value) {if (!uniqueArr.includes(value)) {uniqueArr.push(value);}
});
console.log(uniqueArr); // [1, 2, 3, 4, 5, 6, 7, 8]pop() 用于删除数组的最后一个元素并返回被删除的元素。(注意 pop() 方法会修改原始数组而不是创建一个新的数组。如果数组为空则调用 pop() 方法时不会产生错误而是返回 undefined) 语法
array.pop()参数 无。 返回值 被删除的元素。如果数组为空则返回 undefined。 具体使用示例
let arr [1, 2, 3, 4];let lastElement arr.pop(); // 删除数组的最后一个元素
console.log(lastElement); // 4
console.log(arr); // [1, 2, 3]unshift() 用于将一个或多个元素添加到数组的开头并返回修改后的数组的新长度。(**注意**unshift() 方法会修改原始数组而不是创建一个新的数组。) 语法
array.unshift(element1, element2, ..., elementN)参数 element1, element2, …, elementN: 要添加到数组开头的元素。。 返回值 修改后的数组的新长度。 具体使用示例
let arr [3, 4, 5];arr.unshift(1); // 向数组开头添加元素
console.log(arr); // [1, 3, 4, 5]arr.unshift(0, 2); // 可以一次添加多个元素
console.log(arr); // [0, 2, 1, 3, 4, 5]shift() 用于删除数组的第一个元素并返回被删除的元素。(注意 shift() 方法会修改原始数组而不是创建一个新的数组。如果数组为空则调用 shift() 方法时不会产生错误而是返回 undefined。) 语法
array.shift()参数 无。 返回值 被删除的元素。如果数组为空则返回 undefined。 具体使用示例
let arr [1, 2, 3, 4];let firstElement arr.shift(); // 删除数组的第一个元素
console.log(firstElement); // 1
console.log(arr); // [2, 3, 4]
splice() 用于在任意位置向数组添加或删除元素并返回被删除的元素。(注意 splice() 方法会修改原始数组而不是创建一个新的数组。) 语法
array.splice(start, deleteCount, item1, item2, ..., itemN)参数 start: 起始位置表示从哪个位置开始进行添加或删除操作。如果为负数则从数组末尾开始计算。deleteCount: 可选参数表示要删除的元素个数。如果为 0则不删除元素只进行添加操作如果省略该参数则默认删除从 start 位置到数组末尾所有的元素。item1, item2, …, itemN: 可选参数表示要添加到数组中的元素。 返回值 一个数组包含被删除的元素。如果没有元素被删除则返回空数组 []。 具体使用示例 let arr [1, 2, 3, 4, 5];let removed arr.splice(1, 2); // 从索引为 1 的位置删除 2 个元素
console.log(arr); // [1, 4, 5]
console.log(removed); // [2, 3]arr.splice(2, 0, a, b); // 在索引为 2 的位置添加两个元素
console.log(arr); // [1, 4, a, b, 5]
join() 用于将数组的所有元素以指定的分隔符连接成一个字符串。(注意 join() 方法不会修改原始数组而是返回一个新的字符串。) 语法
array.join(separator)参数 separator: 可选参数用于指定连接时要使用的分隔符。如果省略该参数则默认使用逗号,作为分隔符。 返回值 一个字符串包含数组中所有元素的连接结果。 具体使用示例
let arr [apple, banana, orange];let result arr.join(); // 使用默认分隔符逗号
console.log(result); // apple,banana,orangeresult arr.join(-); // 使用短横线作为分隔符
console.log(result); // apple-banana-orange
slice() 用于从数组中选取一部分元素创建一个新的数组并返回。(注意 slice() 方法不会修改原始数组而是返回一个新的数组。) slice() 方法常用于从数组中选取一部分元素进行操作例如对选取的元素进行排序、过滤、查找等操作。 语法
array.slice(start, end)参数 start: 可选参数表示选取元素的起始位置。如果为负数则从数组末尾开始计算例如 -1 表示最后一个元素end: 可选参数表示选取元素的结束位置。如果省略该参数则默认选取到数组末尾所有的元素。如果为负数则从数组末尾开始计算例如 -1 表示倒数第二个元素。 返回值 一个新的数组包含从原始数组中选取的元素。 具体使用示例
let arr [apple, banana, orange, pear, peach];let result arr.slice(1, 3); // 从索引为 1 的位置开始包括该元素选取 2 个元素不包括索引为 3 的元素
console.log(result); // [banana, orange]result arr.slice(-2); // 从数组末尾倒数第二个元素开始选取所有元素
console.log(result); // [pear, peach]
concat() 用于将两个或多个数组合并成一个新数组。它不会修改原始数组而是返回一个新的数组。 语法
newArray array1.concat(array2, array3, ..., arrayX);参数 array1, array2, …, arrayX: 必需要连接的数组。。 返回值 一个新数组包含连接在一起的所有数组元素。 具体使用示例
var array1 [1, 2, 3];
var array2 [4, 5, 6];
var newArray array1.concat(array2);console.log(newArray); // 输出: [1, 2, 3, 4, 5, 6]
concat()方法还可以用于连接字符串和数组或者连接多个数组和字符串。
var array1 [1, 2, 3];
var str Hello;
var newArray array1.concat(str);console.log(newArray); // 输出: [1, 2, 3, H, e, l, l, o]
concat()方法只会对数组进行一层的连接操作。如果数组中包含嵌套的数组它们将被当作单个元素处理。 var array1 [1, 2, 3];
var array2 [[4, 5], [6]];
var newArray array1.concat(array2);console.log(newArray); // 输出: [1, 2, 3, [4, 5], [6]]
sort() 用于对数组元素进行排序。默认情况下它会将元素转换为字符串并按照Unicode编码顺序进行排序。即使数组中的元素是数字它们也会被当作字符串进行比较。(注意 sort()方法会直接修改原始数组而不是创建一个新的排序后的数组。如果希望保留原数组并创建一个新的排序后的数组应该在排序前先复制一份原数组。) 语法
array.sort(compareFunction);参数 compareFunction可选指定一个比较函数用于确定元素的顺序。如果未提供该参数则元素将按照默认的字符串排序顺序进行排序。 返回值 排序后的原始数组。注意sort()方法会直接修改原始数组。 具体使用示例
var fruits [apple, banana, cherry, date];
fruits.sort();console.log(fruits); // 输出: [apple, banana, cherry, date]
按照数字大小进行排序可以使用比较函数来指定排序规则。
var numbers [10, 5, 8, 20, 3];
numbers.sort(function(a, b) {return a - b;
});console.log(numbers); // 输出: [3, 5, 8, 10, 20]
forEach() 用于对数组中的每个元素执行一次提供的函数。它不会改变原始数组而是对数组进行遍历操作。(注意 forEach()方法对于空数组将不会执行任何操作而且无法使用break和continue语句中断循环。如果需要在遍历过程中中断循环应该使用for循环或some()或every()等其他方法) 语法
array.forEach(function(currentValue, index, array) {// 在这里编写需要执行的代码
});参数 function(currentValue, index, array)必需要执行的函数。currentValue为当前遍历到的元素index为当前元素的索引array为正在遍历的数组。 返回值 undefined。 具体使用示例
var fruits [apple, banana, cherry];
fruits.forEach(function(fruit, index) {console.log(index : fruit);
});// 输出:
// 0: apple
// 1: banana
// 2: cherry
filter() 用于创建一个新数组其中包含通过指定函数测试的所有元素。它不会修改原始数组而是返回一个过滤后的新数组。(注意 filter()方法创建一个新数组其中只包含通过测试的元素。原始数组不会被修改。) 语法
newArray array.filter(function(currentValue, index, array) {// 在这里编写需要执行的判断条件// 如果判断为true则将当前元素添加到新数组中
});
参数 function(currentValue, index, array)必需用于测试每个元素的函数。currentValue为当前遍历到的元素index为当前元素的索引array为正在遍历的数组。 返回值 一个新数组其中包含通过测试的所有元素。 具体使用示例
var numbers [1, 2, 3, 4, 5];
var evenNumbers numbers.filter(function(number) {return number % 2 0;
});console.log(evenNumbers); // 输出: [2, 4]
map() 用于创建一个新数组其中包含对原始数组的每个元素应用指定函数的结果。它不会修改原始数组而是返回一个映射后的新数组。(注意 map()方法创建一个新数组其中包含对原始数组元素应用函数操作的结果。原始数组不会被修改。) 语法
newArray array.map(function(currentValue, index, array) {// 在这里编写需要执行的操作并返回操作的结果
});参数 function(currentValue, index, array)必需用于操作每个元素的函数。currentValue为当前遍历到的元素index为当前元素的索引array为正在遍历的数组。 返回值 一个新数组其中包含对原始数组元素应用函数操作的结果。 具体使用示例
var numbers [1, 2, 3, 4, 5];
var squaredNumbers numbers.map(function(number) {return number * number;
});console.log(squaredNumbers); // 输出: [1, 4, 9, 16, 25]
some() 用于测试数组中的元素是否至少有一个满足指定条件的函数。它会遍历数组直到找到满足条件的元素然后返回true否则返回false。(注意 some()方法只要找到满足条件的元素就会立即停止遍历不会继续对剩余的元素进行判断。) 语法
array.some(function(currentValue, index, array) {// 在这里编写需要执行的判断条件// 如果判断为true则停止遍历并返回true// 如果遍历结束也没有找到满足条件的元素则返回false
});参数 function(currentValue, index, array)必需用于测试每个元素的函数。currentValue为当前遍历到的元素index为当前元素的索引array为正在遍历的数组。 返回值 如果数组中至少有一个元素满足测试条件则返回true否则返回false。 具体使用示例
var numbers [1, 2, 3, 4, 5];
var hasEvenNumber numbers.some(function(number) {return number % 2 0;
});console.log(hasEvenNumber); // 输出: true
every() 用于测试数组中的所有元素是否都满足指定条件的函数。它会遍历数组直到找到一个不满足条件的元素然后返回false否则返回true。(注意 every()方法会遍历整个数组直到找到不满足条件的元素或者遍历结束。如果数组为空则every()方法将始终返回true。) 语法
array.every(function(currentValue, index, array) {// 在这里编写需要执行的判断条件// 如果判断为false则停止遍历并返回false// 如果遍历结束没有找到不满足条件的元素则返回true
});参数 function(currentValue, index, array)必需用于测试每个元素的函数。currentValue为当前遍历到的元素index为当前元素的索引array为正在遍历的数组。 返回值 如果数组中所有元素都满足测试条件则返回true否则返回false。 具体使用示例
var numbers [1, 2, 3, 4, 5];
var allEvenNumbers numbers.every(function(number) {return number % 2 0;
});console.log(allEvenNumbers); // 输出: false
indexOf() 用于返回数组中指定元素的第一个索引位置。如果没有找到该元素则返回-1。(注意 indexOf()方法对于查找基本数据类型如数字、字符串、布尔值非常有效。但是对于查找对象或数组等复杂类型它只能检查是否是同一引用而不能检查对象或数组的内容是否相同。) 语法
array.indexOf(searchValue, startIndex);参数 searchValue必需要查找的元素值。startIndex可选开始查找的位置默认为0。 返回值 如果找到指定元素则返回其在数组中的第一个索引位置否则返回-1。 具体使用示例
var fruits [apple, banana, orange];
var bananaIndex fruits.indexOf(banana);console.log(bananaIndex); // 输出: 1
lastIndexOf() 用于返回数组中指定元素的最后一个索引位置。如果没有找到该元素则返回-1。(注意 lastIndexOf()方法对于查找基本数据类型如数字、字符串、布尔值非常有效。但是对于查找对象或数组等复杂类型它只能检查是否是同一引用而不能检查对象或数组的内容是否相同。) 语法
array.lastIndexOf(searchValue, startIndex);参数 searchValue必需要查找的元素值。startIndex可选开始查找的位置默认为数组的最后一个元素。 返回值 如果找到指定元素则返回其在数组中的最后一个索引位置否则返回-1。。 具体使用示例
var fruits [apple, banana, orange, banana];
var bananaIndex fruits.lastIndexOf(banana);console.log(bananaIndex); // 输出: 3
reverse() 用于反转数组中的元素顺序。即将数组中第一个元素变为最后一个元素将最后一个元素变为第一个元素以此类推。(注意 reverse()方法会把数组中的所有元素反转。这意味着它会反转数组中最后一个元素和第一个元素的位置然后将倒数第二个元素和第二个元素的位置反转以此类推。) 语法
array.reverse();
参数 无。 返回值 该方法返回反转后的数组。注意该方法会改变原始数组而不是创建一个新的数组。 具体使用示例
var fruits [apple, banana, orange];
fruits.reverse();console.log(fruits); // 输出: [orange, banana, apple]
reduce() 用于对数组中的每个元素执行一个回调函数并将结果汇总为单个值。 语法
javascript
array.reduce(callback, initialValue);参数 callback必需表示用于处理数组中每个元素的回调函数。该回调函数接收四个参数 accumulator累加器保存回调函数的返回值。currentValue当前正在处理的元素。currentIndex当前正在处理的元素的索引。array调用reduce()方法的数组。 initialValue可选表示作为初始值传递给回调函数的值。如果未提供初始值则使用数组的第一个元素作为初始值并从第二个元素开始遍历数组。 返回值 最终计算得到的结果。 具体使用示例
var numbers [1, 2, 3, 4, 5];
var sum numbers.reduce(function(accumulator, currentValue) {return accumulator currentValue;
}, 0);console.log(sum); // 输出: 15
find() 用于在数组中查找符合条件的第一个元素并返回该元素。(注意 find()方法只返回符合条件的第一个元素。如果数组中有多个元素满足条件find()方法也只会返回第一个符合条件的元素。) 语法
array.find(callback);参数 callback必需表示用于测试每个元素的回调函数。该回调函数接收三个参数 element当前正在处理的元素。index当前正在处理的元素的索引。array调用find()方法的数组。 返回值 找到符合条件的第一个元素如果没有找到则返回undefined。 具体使用示例
var numbers [1, 2, 3, 4, 5];
var evenNumber numbers.find(function(element) {return element % 2 0;
});console.log(evenNumber); // 输出: 2
findIndex() 用于在数组中查找符合条件的第一个元素的索引并返回该索引。(注意 findIndex()方法只返回符合条件的第一个元素的索引。如果数组中有多个元素满足条件findIndex()方法也只会返回第一个符合条件的元素的索引。) 语法
array.findIndex(callback);参数 callback必需表示用于测试每个元素的回调函数。该回调函数接收三个参数 element当前正在处理的元素。index当前正在处理的元素的索引。array调用findIndex()方法的数组。 返回值 找到符合条件的第一个元素的索引如果没有找到则返回-1。 具体使用示例
var numbers [1, 2, 3, 4, 5];
var evenIndex numbers.findIndex(function(element) {return element % 2 0;
});console.log(evenIndex); // 输出: 1
fill() 用于将数组的所有元素替换为静态值从指定的起始索引开始到指定的结束索引结束。(注意 fill()方法会改变原始数组而不是创建一个新数组。) 语法
array.fill(value, start, end);参数 value必需表示要用来填充数组的静态值。start可选表示填充开始的索引默认为0。end可选表示填充结束的索引默认为数组的长度。 返回值 修改后的数组。 具体使用示例
var numbers [1, 2, 3, 4, 5];
numbers.fill(0, 2, 4);console.log(numbers); // 输出: [1, 2, 0, 0, 5]
copyWithin() 用于将数组中的一部分元素复制到指定的位置。(注意 copyWithin()方法会改变原始数组而不是创建一个新数组。) 语法
array.copyWithin(target, start, end);参数 target必需表示复制的目标位置即复制到哪个索引位置。start可选表示复制的起始位置默认为0。end可选表示复制的结束位置默认为数组的长度。 返回值 修改后的数组。 具体使用示例
var numbers [1, 2, 3, 4, 5];
numbers.copyWithin(0, 3, 5);console.log(numbers); // 输出: [4, 5, 3, 4, 5]
includes() 用于判断数组是否包含指定的值。 语法
array.includes(value, fromIndex);参数 value必需表示要查找的值。fromIndex可选表示从哪个索引位置开始搜索默认为0。 返回值 如果数组中包含指定的值则返回true否则返回false。 具体使用示例
var numbers [1, 2, 3, 4, 5];
console.log(numbers.includes(3)); // 输出: true
console.log(numbers.includes(6)); // 输出: false