操作数组
1、Array.map()
此方法是将数组中的每个元素调用一个提供的函数,结果作为一个新的数组返回,并没有改变原来的数组
let arr = [1, 2, 3, 4, 5]
let newArr = arr.map(x => x*2)
//arr= [1, 2, 3, 4, 5] 原数组保持不变
//newArr = [2, 4, 6, 8, 10] 返回新数组
2、Array.forEach()
此方法是将数组中的每个元素执行传进提供的函数,没有返回值,注意和map方法区分
let arr = [1, 2, 3, 4, 5]
arr.forEach(x => x*2)
// arr = [1, 2, 3, 4, 5] 数组改变,注意和map区分
3、Array.filter()
此方法是将所有元素进行判断,将满足条件的元素作为一个新的数组返回
let arr = [1, 2, 3, 4, 5]
let newArr = arr.filter(x=>{return x>3} )
console.log(newArr) [4, 5]
4、Array.every()
此方法是将所有元素进行判断返回一个布尔值,如果所有元素都满足判断条件,则返回true,否则为false:
let arr = [1, 2, 3, 4, 5]
console.log(arr.every(x=>{return x>7} )) //false
console.log(arr.every(x=>{return x<10} ) )//true
5、Array.some()
此方法是将所有元素进行判断返回一个布尔值,如果存在元素都满足判断条件,则返回true,
若所有元素都不满足判断条件,则返回false:
let arr = [1, 2, 3, 4, 5]
console.log(arr.some(x=>{return x>4} )) //true
console.log(arr.some(x=>{return x<0} ) )//false
/*
首先添加一个splice函数:
splice:该方法的作用就是从数组中删除一个元素
array.splice(index,count,value....);
index:表示从哪一个下标开始,
count:表示删除元素的个数
value:代表增加的元素
*/
var arr = ['tom','andy','jerry','wedy','gates','linus'];
/*
slice: 是截取用的
splice: 是做删除 插入 替换用的
console.log(arr.slice(0,2)) // ["tom", "andy"]
console.log(arr.slice(0)) // ["tom", "andy", "jerry", "wedy", "gates", "linus"]
console.log(arr.slice(2,4)) // ["jerry", "wedy"]
console.log(arr.slice(1)) // ["andy", "jerry", "wedy", "gates", "linus"]*/
// var arr = ['tom','andy','jerry','wedy','gates','linus'];
// console.log(arr.splice(0,2)) // ["tom", "andy"]
// console.log(arr ) // ["jerry", "wedy", "gates", "linus"]
// var array = new Array(1,2,3,4,5,6);
// console.log(array.splice(0,0,2)) // []
// console.log(array ) // [2, 1, 2, 3, 4, 5, 6]
// var array = new Array(1,2,3,4,5,6);
// array.splice(1,1)
// console.log(array ) // [1, 3, 4, 5, 6]
// var array = new Array(1,2,3,4,5,6);
// array.splice(1,3)
// console.log(array ) // [1, 5, 6]
var array = new Array(1,2,3,4,5,6);
array.splice(0,0,2,3,4)
console.log(array ) // [2, 3, 4, 1, 2, 3, 4, 5, 6]
1、数组的创建
var arr = new Array(); arr[0] = "aaa";arr[1] = "bbb";arr[2] = "ccc";
var a = [1,2,3,4,5];
var c = new Array("first", "second", "third");
或者数组直接量:
var d = ["first", "second", "third"];
2、数组的元素的访问
var testGetArrValue=arrayObj[1]; //获取数组的元素值
arrayObj[1]= "这是新值"; //给数组元素赋予新的值
3、数组元素的添加
arrayObj. push([item1 [item2 [. . . [itemN ]]]]);// 将一个或多个新元素添加到数组结尾,并返回数组新长度
arrayObj.unshift([item1 [item2 [. . [itemN ]]]]);// 将一个或多个新元素添加到数组开始,数组中的元素自动后移,返回数组新长度
arrayObj.splice(insertPos,0,[item1[, item2[, . . . [,itemN]]]]);//将一个或多个新元素插入到数组的指定位置,插入位置的元素自动后移,返回""。
4、数组元素的删除
var a = new Array("first", "second", "third") ; delete a[1] ; document.write(a.length) //显示的结果是3,说明即使删除也无法改变数组的长度
arrayObj.pop(); //移除最后一个元素并返回该元素值
arrayObj.shift(); //移除最前一个元素并返回该元素值,数组中元素自动前移
arrayObj.splice(deletePos,deleteCount); //删除从指定位置deletePos开始的指定数量deleteCount的元素,数组形式返回所移除的元素
5、数组的截取和合并
arrayObj.slice(start, [end]); //以数组的形式返回数组的一部分,注意不包括 end 对应的元素,如果省略 end 将复制 start 之后的所有元素
arrayObj.concat([item1[, item2[, . . . [,itemN]]]]); //将多个数组(也可以是字符串,或者是数组和字符串的混合)连接为一个数组,返回连接好的新的数组
6、数组的拷贝
arrayObj.slice(0); //返回数组的拷贝数组,注意是一个新的数组,不是指向
arrayObj.concat(); //返回数组的拷贝数组,注意是一个新的数组,不是指向
7、数组元素的排序
arrayObj.reverse(); //反转元素(最前的排到最后、最后的排到最前),返回数组地址
arrayObj.sort(); //对数组元素排序,返回数组地址
8、数组元素的字符串化
arrayObj.join(separator); //返回字符串,这个字符串将数组的每一个元素值连接在一起,中间用 separator 隔开。
toLocaleString 、toString 、valueOf:可以看作是join的特殊用法,不常用
版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/cjjbc/15424.html