js数组知识
数组的声明:数组里可放各种数据类型
数组的访问 通过[下标]来访问,数量属性length
1.2 修改数组 通过下标可对某个值进行修改 比如:arr[0] = 22;
1.3 遍历一个数组
for (var i =0; i< arr.length;i++){
console.log( arr)
}
2 数组的常用方法:
2.1 toString()转字符串
例子: var arr=[‘11’,11,‘50’,‘b’];
console.log(arr.toString()) 转成字符串了 11,11,50,b
2.2 数组的连接符 join 返回的也是个字符串
console.log(arr.join(''))
3 数组的归并方法
concat(可以是任何类型) 归并到数组里面
var arr=['aa',11,'cc',22]
console.log(arr.concat('33'))
consoole.log(arr.concat[22,'c'])
4,数组的截取
方法 slice() 用法同字符串截取方法一样,特点:返回的是截取出来 的数组,原数组不会改变
var arr2=['bb','b','11']
console.log(arr2.slice(-2)) //截取最后两个,返回是截取出来的数组
5,数组修改
方法:splice (开始位置,[必需],个数,追加项)
特点:返回的是被截取,原数组会被改变
5.1 给1个值,用法同slice方法
第2个值 代表截取个数
可以对原数组进行添加替换 从1开始数
var arr = ['bb',11,'cc']
console.log(arr.splice(1)) // 11 cc
console.log(arr) // 11 aa
增加值操作:
/* var arr5=['11',11,'aa','bb']; console.log(arr5.splice(1,2,'cc','dd')) //[11, "aa"] //返回的是被截取的 console.log(arr5) //原数组被追加["11", "cc", "dd", "bb"]*/
6,往数组尾部追加一个值 push(), 从数组尾部删除一个值 pop() 原数组会改变
/* var arr6=['aa','bb']; console.log(arr6.push(88,99)) //4 返回的数组长度 console.log(arr6) //["aa", "bb", 88,99] var pop1=arr6.pop(); //从尾部删除一个 console.log(arr6)//["aa", "bb", 88]*/
7,往数组头部追加一个值 unshift(),从数组头部删除一个值 shift() 原数组会改变
/*var arr7=['11','22']; var unshf=arr7.unshift('00','01'); console.log(arr7) //["00", "01", "11", "22"] var shf=arr7.shift(); console.log(arr7) //["01", "11", "22"]*/
8 数组的反转 reverse () 颠倒数组元素中元素的顺序 ,等同于for循环倒序 原数组会改变
var arr8=['a','b','c'] console.log(arr8.reverse()) //["c", "b", "a"] console.log(arr8) //原数组会改变 ["c", "b", "a"]
9 数组的排序 sort() 默认是升序,如果有负值排序有问题
var arr9=[2,4,6,1] console.log(arr9.sort()) //[1, 2, 4, 6] //给负数有问题 var arr10=[2,4,6,1,-3,-2] console.log(arr10.sort()) //[-2, -3, 1, 2, 4, 6] // 解决办法: var arr11=[2,4,6,1,-3,-2] var fuSort=arr11.sort(function(a,b){ return a-b //升序 }) console.log(fuSort) //升序 [-3, -2, 1, 2, 4, 6] var arr12=[2,4,6,1,-3,-2] var zheSort=arr12.sort(function(a,b){ return b-a //降序 }) console.log(zheSort) //降序 [6, 4, 2, 1, -2, -3]
学习讨论QQ:1808886962