继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

javascript数组的常用方法说明

东方既白233
关注TA
已关注
手记 44
粉丝 38
获赞 153

let grades = [22, 33, 44, 45, 66];
let newgrades = grades.map((grade) => {
return grade + 10;
})
map()传入一个函数作为参数,函数内的参数是数组的元素,函数每个元素返回一个值,作为新数组的元素。这里将grades的每个元素增加10;创建一个新数组包含的元素为远数组的各元素+10后的新元素;

Array.foreach((value, index) => {

})
对数组进行遍历,value是数组的元素,index是数组的索引

for (let value of array) {

}
对数组进行遍历,value是数组的元素

for (let index in array) {

}
对数组或者对象进行遍历,index是索引或者属性,遍历到的属性有可能会是原型对象上的属性,如果只是为了遍历当前对象或者数组的属性,需要使用

array.hasOwnProperty(index)
进行判断当前的数组或者对象是否有该属性。

let news = names.filter((el, index) => {
return el>=10;
})
filter()函数接受两个参数,第一个el是数组的元素,第二个参数index是索引值,返回符合条件的元素,然后组成新的数组,

let name = names.splice(0, 0, ‘som’);
第一个参数,截取的起始索引,
第二个参数,截取的长度,
第三个参数,增加的元素,增加的元素会取代索引的那个位置,后面的元素位置会向后移。
原来的数组会发生变化,返回截取的元素组成的数组

let name=names.slice(0,1);
第一个参数,截取的起始索引,
第二个参数,截取的结束索引,
原来的数组不会发生变化,返回截取的元素组成的数组。截取的元素从开始索引的那个元素,到索引结束的前一个元素。

Array.push(el);
尾部增加一个元素或者多个元素

Array.unshift(el);
首部增加一个或者多个元素元素

Array.pop(el);
尾部删除一个元素

Array.shift(el);
首部删除一个元素

Array.reverse()
将数组的元素位置颠倒

Array.sort(arr)
如果参数arr是字符串数组,那么是按照字典排序
如果参数arr是数字数组,传入比较函数,根据返回的结果进行排序

function compare(num1, num2) {
return num1 - num2;
}
Array.sort(compare)
这里按照从小到大排序

var arr=[20, 24, 22, 42, 20, 54, 86];
var even=arr.every((num)=>{return num % 2 == 0})
every(),接受一个返回值为布尔类型的函数,对数组中的每个元素使用该函数,只有该函数 每次都返回true,该every方法才返回true,否则为false
上面是判断该数组是否所有元素都是偶数

var arr=[20, 24, 22, 42, 20, 54, 86];
var even=arr.some((num)=>{return num % 2 == 0})
some()方法,接受一个返回值为布尔类型的函数,对数组中的每个元素使用该函数,只要该函数 有一次返回true,该some方法就返回true,只有全部返回false才为false
上面是判断该数组是否有元素是偶数

var arr = [20, 21, 22, 42, 22, 54, 86];
var even = arr.reduce((total, now) => {
return total + now
})
reduce方法接受一个函数,函数接受两个参数,返回一个累加值,第一个参数表示当前的累加总值,第二个参数表示当前的累加到所在位置的元素值,该方法会从第一个元素值开始进行累加到最后一个元素,最后返回得到的总累加值
同时也还有一个reduceRight方法,跟reduce方法相反,它是从右到左执行的。

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP