Javascript知识点汇总(一):数组常用方法整理
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Javascript知识点汇总(一):数组常用方法整理,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含4297字,纯文字阅读大概需要7分钟。
内容图文
![Javascript知识点汇总(一):数组常用方法整理](/upload/InfoBanner/zyjiaocheng/814/252941fcb1df4403be2e970bb06b39d2.jpg)
数组:
1、创建方式:
(1)字面量创建:
var arr=[1,2,3]
(2)构造函数创建:
var arr=new Array(2) #参数为2,表示生成一个两个成员的数组
单个非数值作为参数时,表示返回的是新数组成员:
new Array(“222”)
// [‘222’]
多参数时,所有参数都是新数组成员
new Array(1,2)
// [1,2]
2、基本操作:
(1) push() :
在数组末尾添加一个或多个元素,返回添加后的数组长度,原数组发生改变。
var arr=[1,2]
var a=arr.push("22",4)
console.log(arr) //[1,2,"22",4]
(2)pop() :
删除数组的最后一个元素,返回这个删除的元素,原数组发生改变(空数组返回undefined)。
var arr=[1,2,3,4]
arr.pop();
console.log(arr) //[1,2,3]
(3)unshift() :
在数组的第一个位置添加一个元素,返回添加后的数组长度,原数组发生改变。
(4)shift() :
删除数组中的第一个元素,返回这个删除的元素,原数组发生改变。
(5)slice(start,end) :
提取目标数组中的一部分成员,返回一个新数组,原数组不变:
第一个参数表起始位置索引(从0开始),第二个参数为终止位置(不包括该位置元素)
第二个参数为空,则一直返回到原数组的最后一个元素,不写参数表示拷贝一个原数组
(6)splice(start,length) :
删除目标数组中的一部分成员 ,返回被删除元素,改变原数组。
一个参数 : 从该参数对应位置开始截取,直至数组结束
两个参数 : 第一个参数表示截取起始位置,第二参数表示截取的长度
三个或三个以上的参数 : 从截取起始位置开始增加第三个及以后的参数 原数组发生改变
(7)reverse() :
数组翻转,返回改变后的数组,改变原数组。
(8)sort() :
对数组成员排序,默认是按照字典顺序排序(先转换成字符串),改变原数组。
常用案例:
var arr=[1,4,2,6,3,7]
arr.sort(function(a,b){
return a-b; //升序
})
console.log(arr) //[1,2,3,4,6,7]
(9) join() :
将数组转换成字符串,默认以 , 分割,也可指定数组内的参数作为分割符。
var arr=new Array(3);
arr[0]="lala";
arr[1]=4;
arr[2]=3;
console.log(arr.join()); // lala,4,3
3、ES5新增数组方法:
(1)Array.isArray(obj) :
判断 一个对象是否为数组,对象是数组返回 true,否则返回 false
(2)map() :
将数组的所有成员遍历传参给函数,把每一次的执行结果组成一个新数组返回,原数组不变。
let arr=[1,2,3,4,5]
let res=arr.map(function(n){
return n+1
})
console.log(res) //[2,3,4,5,6]
扩展:
[“1”, “2”, “3”].map(parseInt); //结果 [1, NaN, NaN]
想要输出结果是[1,2,3]:
注:
parsnInt()函数语法:parseInt(string, radix) radix默认为10
回调函数语法:function callbackfn(value, index, array1)
value 数组元素的值。
index 数组元素的数字索引。
array1 包含该元素的数组对象。function return(element){
return parseInt(element,10);
}
console.log([“1”,“2”,“3”].map(return)) //[1,2,3]
3、foreach():
通过遍历数组元素来操作数据,不会返回遍历的所有数据,无法中断执行,会将所有成员遍历完。
如果数组遍历的目的是为了得到返回值,那么使用map方法,否则使用forEach方法。
与foreach区别:
共同点:
1.都是循环遍历数组中的每一项。
2.forEach() 和 map() 里面每一次执行的匿名函数都支持3个参数:
数组中的当前项item,当前项的索引index,原始数组input。
3.匿名函数中的this都是指Window。
4.只能遍历数组。
不同点:
1.forEach(), 没有返回值,只用来操作数据
var ary = [12,23,24,42,1];
var res = ary.forEach(function (item,index,input) {
input[index] = item*10;
})
console.log(res); //undefined;
console.log(ary); // [120, 230, 240, 420, 10] #原数组发生改变;
2.map(),有返回值,可以return 出来。
var ary = [12,23,24,42,1];
var res = ary.map(function (item,index,input) {
return item*10;
})
console.log(res); //[120,230,240,420,10];
console.log(ary); //[12,23,24,42,1]; #不改变原数组
4、every():
(返回值为布尔)接受一个函数作为参数,所有数组成员依次执行该函数
使用指定函数检测数组中的所有元素,检测数组所有元素是否都符合指定条件(通过函数提供)全部满足返回true,否则返回false;
let arr=[1,2,3,4,5]
let res=arr.every(function(v){
return v>0;
})
console.log(res) //true
5、some():
(返回值为布尔) 接受一个函数作为参数,所有数组成员依次执行该函数
依次执行数组的每个元素,检测数组中的元素是否满足指定条件(函数提供),只要有一个满足返回true,否则false
6、filter():
(过滤),将数组的所有成员依次传入参数函数遍历,返回符合条件的数组成员
创建一个新的数组,新数组中的元素是通过函数遍历,返回数组中符合条件的所有元素
let arr=[1,3,54,5,6]
let res=arr.filter(v=>{
return v>10;
})
console.log(res) //54
7、indexOf():
返回给定元素在数组中第一次出现的位置索引,如果没有出现则返回-
let arr=[1,"b",8,7]
let a=arr.indexOf("b")
let b=arr.indexOf(2)
console.log(a,b) // 1 -1
可以接受第二个参数,表示搜索的开始位置,返回原数组中的索引位置
let arr=[6,"b","c","f",5]
let c=arr.indexOf("c",2)
let d=arr.indexOf(6,1)
console.log(c,d) // 2 -1
内容总结
以上是互联网集市为您收集整理的Javascript知识点汇总(一):数组常用方法整理全部内容,希望文章能够帮你解决Javascript知识点汇总(一):数组常用方法整理所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。