2021-03-12

数组方法总结

一。数组方法
1.数组转字符串
var arr = [‘apple’,‘blue’];
arr.toString();
并不会改变原数组,而是新组成一个字符串;
2.join方法
也可将所有数组元素结合为一个字符串。参数就是用什么拼接
例如
var join = arr.join(’’);
console.log(join) 输出 appleblue
3.pop,push,unshift,shift方法
pop就是将数组中最后一个元素删掉,返回的就是删掉的那个元素
var pop = arr.pop();
console.log(pop,arr) //输出 blue Array [ “apple” ]
会改变原数组
push就是向数组后面追加元素,返回的就是数组的长度
var push = arr.push(‘banner’,‘pink’)
console.log(push,arr) 输出 3 Array(3) [ “apple”, “banner”, “pink”]
会改变原数组
shift方法会删除数组中第一个元素,返回被删除的元素
var shift = arr.shift();
console.log(shift,arr) //输出 apple Array [ “banner”, “pink” ]
会改变原数组
unshift方法会在数组第一个元素前添加元素,返回数组的长度
var unshift = arr.unshift(‘purple’);
console.log(unshift,arr) //输出 3 Array(3)[“purple”,“banner”,“pink” ]
会改变原数组
4.splice方法
var splice = arr.splice(2,0,‘gobehinde’);
console.log(splice,arr) / 输出 Array [] Array(4) [ “purple”, “banner”, “gobehinde”, “pink” ]
返回一个包含删除项的数组,参数一是添加新元素的位置(拼接),第二个参数是删除多少元素,第三个其余参数就是要添加的元素,会改变原素组
会改变原数组
5.链接数组
concat() 方法通过合并(连接)现有数组来创建一个新数组:
var arr2 = [‘orange’,‘yellow’];
var concat = arr.concat(arr2);
console.log(concat,arr) 输出 Array(6) [ “purple”, “banner”, “gobehinde”, “pink”, “orange”, “yellow” ] Array(4) [ “purple”, “banner”, “gobehinde”, “pink” ]
concat() 方法不会更改现有数组。它总是返回一个新数组。
6.slice
var slice = arr.slice(2,4);
console.log(slice,arr) 输出 Array [ “gobehinde”, “pink”] Array(4) [ “purple”, “banner”, “gobehinde”, “pink” ]
第一个参数是开始的位置,第二个参数是结束的位置,注意不包括结束点
7.排序sort
var arr3 = [41,25,5,9,14];
var sort = arr3.sort();
console.log(sort,arr3); 输出Array(5) [ 14, 25, 41, 5, 9 ] Array(5) [ 14, 25, 41, 5, 9 ],会改变原数组
事实上,sort方法会调用每个数组元素的toString方法,然后根据Unicode编码进行排序
改进

           var arr3 = [41,25,5,9,14];
            arr3.sort(function(a,b){
              return a-b;
            })
           console.log(arr3)

8.反转数组 reverse
var fruits = [“Banana”, “Orange”, “Apple”, “Mango”];
fruits.sort(); // 对 fruits 中的元素进行排序
var a = fruits.reverse();
console.log(fruits,a)
会改变原数组
您可以使用 Math.max.apply 来查找数组中的最高值:
Math.max.apply([1, 2, 3]) 等于 Math.max(1, 2, 3)。
排序对象数组
var cars = [
{type:“Volvo”, year:2016},
{type:“Saab”, year:2001},
{type:“BMW”, year:2010}];
cars.sort(function(a, b){return a.year - b.year});
9.foreach
forEach() 方法为每个数组元素调用一次函数(回调函数)
接受三个参数,第一个是值,第二个是索引,第三个是循环的数组,注意
Internet Explorer 8 或更早的版本不支持
10.map
map() 方法通过对每个数组元素执行函数来创建新数组。
map() 方法不会对没有值的数组元素执行函数。
map() 方法不会更改原始数组。
var numbers1 = [45, 4, 9, 16, 25];
var numbers2 = numbers1.map(myFunction);
function myFunction(value, index, array) {
return value * 2;
}
接受三个参数,第一个是值,第二个是索引,第三个是数组本身
11.filter
filter() 方法创建一个包含通过测试的数组元素的新数组
var numbers = [45, 4, 9, 16, 25];
var over18 = numbers.filter(myFunction);
function myFunction(value, index, array) {
return value > 18;
}
接受三个参数,第一个是值,第二个是索引,第三个是数组本身
12.reduce
reduce() 方法在每个数组元素上运行函数,以生成(减少它)单个值。
reduce() 方法在数组中从左到右工作。另请参见 reduceRight()。
reduce() 方法不会减少原始数组。
var numbers1 = [45, 4, 9, 16, 25];
var sum = numbers1.reduce(myFunction);
function myFunction(total, value, index, array) {
return total + value;
}
请注意此函数接受 4 个参数:
总数(初始值/先前返回的值)
项目值
项目索引
数组本身
13 .reduceRight()
Array.reduceRight()
reduceRight() 方法在每个数组元素上运行函数,以生成(减少它)单个值。
reduceRight() 方法在数组中从左到右工作。另请参见 reduce()。
reduceRight() 方法不会减少原始数组。
var numbers1 = [45, 4, 9, 16, 25];
var sum = numbers1.reduceRight(myFunction);
function myFunction(total, value, index, array) {
return total + value;
}
有四个参数,
总数(初始值/先前返回的值)
项目值
项目索引
数组本身
14.every
every() 方法检查所有数组值是否通过测试。返回true或者false
var numbers = [45, 4, 9, 16, 25];
var allOver18 = numbers.every(myFunction);
function myFunction(value, index, array) {
return value > 18;
}
15。some
some() 方法检查某些数组值是否通过了测试。返回true或者false
var numbers = [45, 4, 9, 16, 25];
var someOver18 = numbers.some(myFunction);
function myFunction(value, index, array) {
return value > 18;
}
接受三个参数
项目值
项目索引
数组本身

16 indexof
indexOf() 方法在数组中搜索元素值并返回其位置。注意是从0开始
有两个参数,参数一是要搜索的元素,参数二是从哪个位置开始搜索,若没有搜索到值,返回-1,如果搜索目标多次出现,则返回第一次出现的位置
17.lastIndexOf()
Array.lastIndexOf() 与 Array.indexOf() 类似,但是从数组结尾开始搜索。
18.find
find() 方法返回通过测试函数的第一个数组元素的值。
var numbers = [4, 9, 16, 25, 29];
var first = numbers.find(myFunction);
function myFunction(value, index, array) {
return value > 18;
}
请注意此函数接受 3 个参数:
项目值
项目索引
数组本身
注意老版本浏览器不支持

19.findIndex()
findIndex() 方法返回通过测试函数的第一个数组元素的索引。
20.valueOf()
valueOf() 方法返回 Array 对象的原始值。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值