Logo

常用JS—Array数组方法

photo

2022年05月18日

every
对数组中每一项进行给定函数,如果每一项都满足条件则返回true,否则返回false;

var numbers = [1,2,3,4,5,4,3,2,1]; 
var result = numbers.every((item,index,array) => {
	return item >2 ;
});
 alert(result ); //false

some
对数组中每一项进行给定函数,如果任意一项满足条件则返回true,否则返回false;

var numbers = [1,2,3,4,5,4,3,2,1];
var everyResult = numbers.some(function(item,index,array){
    return item>2;
}); 
alert(everyResult); //true

filter
对数组中每一项进行给定函数判断,返回满足函数条件的项组成的数组

var numbers = [1,2,3,4,5,4,3,2,1];
var everyResult = numbers.filter(function(item,index,array){
    return item>2;
}); 
alert(everyResult); //  [3,4,5,4,3]

map
对数组中每一项进行给定函数,返回执行后的结果组成的数组

var numbers = [1,2,3,4,5,4,3,2,1]; 
var everyResult = numbers.map(function(item,index,array){
    return item*2;
}); 
alert(everyResult); //  [2, 4, 6, 8, 10, 8, 6, 4, 2]

forEach
遍历数组,类似for循环

var numbers = [1,2,3,4,5,4,3,2,1]; 
numbers.forEach(function(item,index,array){ 
	if(item!=2){ //如果不是2
		numbers.splice(index,1,2); //替换成2
	} 
}); 
alert(numbers); //  [2, 2, 2, 2, 2, 2, 2, 2, 2]

reduce && reduceRight
这两个方法迭代数组所有项,然后构建一个最终返回的值。
reduce从左到右,reduceRight从右到左。

var values = [1,2,3,4,5];
var sum = values.reduce(function(prev,cur,index,array){
    return prev + cur;
});
alert(sum); //15

检测数组instanceof && array.isArray

var values = [1,2,3];
if(values instanceof Array){
    //对数组进行某些操作
}
if(Array.isArray(values)){
    //对数组进行某些操作
}

join
将数组转换成字符串,且用分隔符分隔

var colors = [1,2,3];
alert(colors.join("|"));  // 1|2|3

toString
将数组转换成字符串

var color = [1,2,3];
console.log(color.toString());// 1,2,3

valueOf
将数组转换成字符串,返回数组值

var color = [1,2,3,4];
console.log(color.valueOf());//1,2,3,4

push && pop && shift && unshift

push() 从数组末尾添加
pop()  从数组末尾移除
shift()    从数组前端移除
unshift()  从数组前端添加

reverse
反转数组,返回数组

var color = [1,2,3,4,5];
console.log(color.reverse());//[5, 4, 3, 2, 1]
console.log(Array.isArray(color.reverse()));//true

sort
排序返回数组,默认是升序,

var color = [1,2,3,4,5];
var color2 = color.sort((a,b) => {
	return b-a;	//降序
	//return a-b;升序
	//retun 是 负数;
});
console.log(color2);
// [5, 4, 3, 2, 1]

concat
用于复制或者从尾部添加–>创建新数组
先创建一个当前数组的副本,然后将添加的数组添加到末尾,返回新的数组。如果没有传参数,直接复制返回新构建的数组。

var values = [1,2,3]; 
var v1 = values.concat();
var v2 = values.concat(4); 
console.log(values); //[1,2,3];
console.log(v1); //[1,2,3] 
console.log(v2); //[1,2,3,4]

splice
splice() 方法用于插入、删除或替换数组的元素。

array.splice(index,num,arr);
返回被删除的元素
/**
*index:修改的位置即下标数字
*num:删除的长度,默认是至结尾
*arr:添加进去的数组
**/
删除demo:
var values = [1,2,3,4,5,6];
var v = values.splice(0,2);
console.log(values);  //[3,4,5,6]
console.log(v);       //[1,2]

插入demo: 
var values = [1,2,3,4,5,6]; 
var v1 = values.splice(1,0,1,1,1); 
console.log(values); //[1,1,1,1,2,3,4,5,6] 
console.log(v1); //[] 

替换demo: 
var values = [1,2,3,4,5,6]; 
var v1 = values.splice(1,2,1,1,1); 
console.log(values); //[1,1,1,1,4,5,6] 
console.log(v1); //[2,3]

slice
用于复制或截取数组–>创建新数组,截取当前数组的一部分创建一个新数组。可以接受一个或者两个参数,只有一个参数时返回指定位置到尾部的数组。两个参数时,返回指定位置到结束位置之前但不包括结束位置的数组。

var values = [1,2,3]; 
var v1 = values.slice(); 
var v2 = values.slice(1); 
var v3 = values.slice(1,3); 
console.log(values); //[1,2,3] 
console.log(v1); //[1,2,3] 
console.log(v2); //[2,3] 
console.log(v3); //[2,3]

indexOf && lastIndexOf
返回元素在数组的位置

var values = [1,2,3,4,5];
indexOf() 从头找指定项的位置
var v1 = values.indexOf(3);

lastIndexOf() 从后往前查位置
var v2 = values.lastIndexOf(3);

两者如果没查到都返回-1
所有附件
该文章没有附件.
本文为原创文章,请注意保留出处!
log4net-mvc中引用log4net 2022年05月19日

引用包点击需要添加log4net项目,在线下载安装包,如下:在管理器中输入log4net下载一个...log4net-mvc中引用log4net

热门文章

修复群晖Synology Drive client右键菜单缺失问题 本教程主要解决windows10右键菜单中没有SynologyDrive菜单的问题,整体思路是找到...修复群晖SynologyDriveclient右键菜单缺失问题 作者:Pastore Antonio
1825 浏览量
docker如何查看一个镜像内部的目录结构及其内部都有哪些文件 前言:有时候我们会在docker上下载一个镜像,或者是上传一个镜像到docker上,甚至有时候就是在...docker如何查看一个镜像内部的目录结构及其内部都有哪些文件 作者:Pastore Antonio
1807 浏览量
Adobe Acrobat Pro 激活 这里记录了一些AdobeAcrobat的激活教程和组件。浏览量:1,687 作者:Pastore Antonio
1534 浏览量
configure: error: Package requirements (oniguruma) were not met configure:error:Packagerequirements(oniguruma)...configure:error:Packagerequirements(oniguruma)werenotmet 作者:Pastore Antonio
1534 浏览量
追寻日出,找回自己 为什么我要去追寻日出?其实我是一个很懒的人,每次都起不来,直到有一次我在租房中睡到了大天亮,阳光照...追寻日出,找回自己 作者:Pastore Antonio
1514 浏览量