JavaScript,数组方法

copyWithin() 方法

定义和用法

copyWithin() 方法用于从数组的指定位置拷贝元素到数组的另一个指定位置中。不改变数组长度

例如

var fruits = ["1", "2", "3", "4","5","6","7"];
function myFunction() {
document.getElementById("demo").innerHTML = fruits.copyWithin(4,0,2);

输出结果:1,2,3,4,1,2,7

语法

array.copyWithin(target, start, end)

参数

参数

描述

target

必需。复制到指定目标索引位置。

start

可选。元素复制的起始位置。

end

可选。停止复制的索引位置 (默认为

array

.length)。如果为负值,表示倒数。

Array every() 方法

定义和用法

every() 方法用于判断数组所有元素是否都符合指定条件(通过函数提供)。

every() 方法使用指定函数检测数组中的所有元素:

  • 如果数组中检测到有一个元素不满足,则整个表达式返回 false ,且剩余的元素不会再进行检测。

  • 如果所有元素都满足条件,则返回 true。

注意: every() 不会对空数组进行检测。

注意: every() 不会改变原始数组。

fill() 方法

定义和用法

fill() 方法用于将一个固定值替换数组的元素。填充

var fruits = ["1", "2", "3", "4","5","6","7","8"];
fruits.fill("0", 4, 6);

输出结果:1,2,3,4,0,0,7,8

语法

array.fill(value, start, end)

参数

参数

描述

value

必需。填充的值。

start

可选。开始填充位置。数组下标位置

end

可选。停止填充位置 (默认为

array

.length),数组下标位置前,不包括当前下标

Array filter() 方法

定义和用法

filter() 方法会创建一个新的数组,并把符合条件的元素放进这个数组里,可以用来做判断,过滤,筛选

注意: filter() 不会对空数组进行检测。

注意: filter() 不会改变原始数组。

var ages = [32, 33, 16, 40];

function checkAdult(age) {
    return age >= 18;
}

function myFunction() {
    document.getElementById("demo").innerHTML = ages.filter(checkAdult);
}

输出结果为:
32,33,40

语法

array.filter(function(currentValue,index,arr), thisValue)

参数说明

参数

描述

function(currentValue, index,arr)

必须。函数,数组中的每个元素都会执行这个函数

函数参数:

参数

描述

currentValue

必须。当前元素的值

index

可选。当前元素的索引值

arr

可选。当前元素属于的数组对象

thisValue

可选。对象作为该执行回调时使用,传递给函数,用作 "this" 的值。

如果省略了 thisValue ,"this" 的值为 "undefined"

find() 方法

定义和用法

find() 方法返回通过测试(函数内判断)的数组的第一个元素的值。获取符合条件的中第一个元素并输出

find() 方法为数组中的每个元素都调用一次函数执行:

  • 当数组中的元素在测试条件时返回 true 时, find() 返回符合条件的元素,之后的值不会再调用执行函数。

  • 如果没有符合条件的元素返回 undefined

注意: find() 对于空数组,函数是不会执行的。

注意: find() 并没有改变数组的原始值。

var ages = [3, 10, 18, 20];
 
function checkAdult(age) {
    return age >= 18;
}

function myFunction() {
    document.getElementById("demo").innerHTML = ages.find(checkAdult);
}
fruits 输出结果:
18

includes() 方法

定义和用法

includes() 方法用来判断一个数组是否包含一个指定的值,如果是返回 true,否则false。

let site = ['runoob', 'google', 'taobao'];
 
site.includes('runoob'); 
// true 

site.includes('baidu'); 
// false

indexOf() 方法

定义和用法

indexOf() 方法可返回数组中某个指定的元素位置。

该方法将从头到尾地检索数组,看它是否含有对应的元素。开始检索的位置在数组 start 处或数组的开头(没有指定 start 参数时)。如果找到一个 item,则返回 item 的第一次出现的位置。开始位置的索引为 0。

如果在数组中没找到指定元素则返回 -1。

查找数组中 "Apple" 的元素, 在数组的第四个位置开始检索:
var fruits=["Banana","Orange","Apple","Mango","Banana","Orange","Apple"];
var a = fruits.indexOf("Apple",4);
a 结果输出:
6

join() 方法

定义和用法

join() 方法用于把数组中的所有元素转换一个字符串。

元素是通过指定的分隔符进行分隔的。不指定则默认为逗号

var fruits = ["Banana", "Orange", "Apple", "Mango"];
var energy = fruits.join(" and ");
energy 结果输出:
Banana and Orange and Apple and Mango

keys() 方法

定义和用法

keys() 方法用于从数组创建一个包含数组键的可迭代对象。(返回数组下标)

如果对象是数组返回 true,否则返回 false。

lastIndexOf() 方法

定义和用法

lastIndexOf() 方法可返回一个指定的元素在数组中最后出现的位置,从该字符串的后面向前查找。(显示元素在数组中最后一次出现的位置下标)

如果要检索的元素没有出现,则该方法返回 -1。

该方法将从尾到头地检索数组中指定元素 item。开始检索的位置在数组的 start 处或数组的结尾(没有指定 start 参数时)。如果找到一个 item,则返回 item 从尾向前检索第一个次出现在数组的位置。数组的索引开始位置是从 0 开始的。

如果在数组中没找到指定元素则返回 -1。

提示: 如果你想查找数组首次出现的位置,请使用 indexOf() 方法

var fruits=["Banana","Orange","Apple","Mango","Banana","Orange","Apple"];
var a = fruits.lastIndexOf("Apple");
a 输出结果:
6

pop() 方法

定义和用法

pop() 方法用于删除数组的最后一个元素并返回删除的元素。

注意:此方法改变数组的长度!

提示: 移除数组第一个元素,请使用 shift() 方法。

const sites = ['Google', 'Runoob', 'Taobao', 'Zhihu', 'Baidu'];
 
console.log(sites.pop());
// 输出结果为: "Baidu"

console.log(sites);
// 输出结果为: ['Google', 'Runoob', 'Taobao', 'Zhihu']

sites.pop();
 
console.log(sites);
//  输出结果为: ["Google", "Runoob", "Taobao"]

push() 方法

定义和用法

push() 方法可向数组的末尾添加一个或多个元素,并返回新的长度。

注意: 新元素将添加在数组的末尾。

注意: 此方法改变数组的长度。

提示: 在数组起始位置添加元素请使用 unshift() 方法。

reduce() 方法

定义和用法

reduce() 方法接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值。

reduce() 可以作为一个高阶函数,用于函数的 compose。

educeRight() 方法的功能和 reduce() 功能是一样的,不同的是 reduceRight() 从数组的末尾向前将数组中的数组项做累加。

注意: reduce() 对于空数组是不会执行回调函数的。

var numbers = [65, 44, 12, 4];
 
function getSum(total, num) {
    return total + num;
}
function myFunction(item) {
    document.getElementById("demo").innerHTML = numbers.reduce(getSum);
}
输出结果:
125

reverse() 方法

定义和用法

reverse() 方法用于颠倒数组中元素的顺序

颠倒数组中元素的顺序:var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.reverse();
fruits 结果输出:
Mango,Apple,Orange,Banana

slice() 方法

定义和用法

slice() 方法可从已有的数组中返回选定的元素。(两个参数:第一个是数组下标开始位置,第二个是数组下标结束位置前,不包含当前下标)

slice() 方法可提取字符串的某个部分,并以新的字符串返回被提取的部分。

注意: slice() 方法不会改变原始数组。

使用负值从数组中读取元素
var fruits = ["Banana", "Orange", "Lemon", "Apple", "Mango"];
var myBest = fruits.slice(-3,-1); // 截取倒数第三个(包含)到倒数第一个(不包含)的两个元素

var myBest = fruits.slice(-3);  // 截取最后三个元素
myBest 结果输出:
Lemon,Apple

截取字符串
var str="www.runoob.com!";
document.write(str.slice(4)+"<br>"); // 从第 5 个字符开始截取到末尾

document.write(str.slice(4,10)); // 从第 5 个字符开始截取到第10个字符
结果
runoob.com!
runoob

some() 方法

定义和用法

some() 方法用于检测数组中的元素是否满足指定条件(函数提供)。

some() 方法会依次执行数组的每个元素:

  • 如果有一个元素满足条件,则表达式返回true , 剩余的元素不会再执行检测。

  • 如果没有满足条件的元素,则返回false。

sort() 方法

定义和用法

sort() 方法用于对数组的元素进行排序。

排序顺序可以是字母或数字,并按升序或降序。

默认排序顺序为按字母升序。

注意:当数字是按字母顺序排列时"40"将排在"5"前面。

使用数字排序,你必须通过一个函数作为参数来调用。

函数指定数字是按照升序还是降序排列。

这些说起来可能很难理解,你可以通过本页底部实例进一步了解它。

注意: 这种方法会改变原始数组!

var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.sort();

fruits 输出结果:
Apple,Banana,Mango,Orange

splice() 方法

定义和用法

splice() 方法用于添加或删除数组中的元素。

注意:这种方法会改变原始数组。

数组中添加新元素:
var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.splice(2,0,"Lemon","Kiwi");
fruits 输出结果:
Banana,Orange,Lemon,Kiwi,Apple,Mango


移除数组的第三个元素,并在数组第三个位置添加新元素:var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.splice(2,1,"Lemon","Kiwi");
fruits 输出结果:
Banana,Orange,Lemon,Kiwi,Mango

splice(index,len,item)是vue中数组变异的方法之一,可以用来删除,更新,和增加数组内容
参数:
index:数组下标
len:为1或0,1代表删除该下标长度为1的元素,不加长度默认为0,会删除index后的所有元素
item:更新或增加的内容
使用方法:

1.删除,当参数形式为splice(index,1)时表示删除下标为index的内容
2.更新,当参数形式为splice(index,1,item)时表示用新的值item更新替换掉下标为index的值
3.增加,当参数形式为splice(index,0,item)时表示在下标为index的位置增加一项值为item
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值