JS的简单复习五

一、数组长度–length属性

此属性可以更改数组的长度、值的个数以及清空

var arr=[2,4,3,5,6,3,1];
console.log(arr.length) //7
arr.length=1;
console.log(arr.length,arr) //1,[2]
arr.length=0;
console.log(arr.length,arr) //0,[]
var arr=[];
console.log(arr.length,arr) //0,[]

二、数组转字符串–toString(),但是有逗号

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

三、增删改查–push()、unshift()、pop()、shift()、splice()、slice()、indexOf()

1.数组结尾增加push()–返回的是长度,且改变原数组

var arr6=[2,3,1,1,2,3];
console.log(arr1)
var arr7=arr6.push(9) //返回的是数组长度
console.log(arr7,arr6)  //再重新打印arr6发现数组已发生变化
var arr8=arr6.push([9,9,9])
console.log(arr8,arr6) //[9,9,9]是看做一项处理
var arr9=arr6.push(0,0,0)
console.log(arr9,arr6) //11,[2, 3, 1, 1, 2, 3, 9, Array(3), 0, 0, 0]

2.数组开头追加unshift()–返回的是长度,且改变原数组

var unarr=[1,2,3];
var unarr1=unarr.unshift(0);
console.log(unarr1,unarr) //4 [0, 1, 2, 3]

3.数组删除结尾元素pop()–返回的是删除元素,且改变原数组

var unarr2=unarr.pop(4)
console.log(unarr2,unarr) // 4 [0, 1, 2, 3, 3]

4.数组删除开头元素shift()–返回的是删除元素,且改变原数组

var unarr4=[3,1,2]
var unarr3=unarr4.shift(3,1)
console.log(unarr3,unarr4) //3 [1,2]

注意:pop返回的长度是删除后的长度,shift返回的是删除元素,并且pop和shift每次只能删除一位
5.任意位置添加/删除元素splice()–返回的是被处理之后的数组
(从哪一位开始删,删几个,新值)

var sarr=[1,2,3];
var sarr1=sarr.splice(1,2,5)//删除指定元素后返回被删除的元素。
console.log(sarr1,sarr) //[2, 3] [1, 5]
var sarr2=sarr.splice(0,0,4)
console.log(sarr2,sarr) //[]  [4, 1, 5]

6.截取slice()–(开始,结尾),但不包含结尾且原先数组不会改变
(含头不含尾)

var jarr=[1,2,3,4]
var jarr1=jarr.slice(1,3)
console.log(jarr1,jarr)// [2, 3] [1, 2, 3, 4]

7.查找indexOf()–返回结果是角标,若查不到则返回-1
(查到即返回,不会继续查找下去)

var inarr=[1,2,2,3,2]
var inarr1=inarr.indexOf(2)
console.log(inarr1)  //1

四、数组反转–reverse()

var inarr=[1,2,2,3,2]
var inarr2=inarr.reverse()
console.log(inarr2) //[2, 3, 2, 2, 1]

五、数组排序–sort()

此排序是按照Unicode编码排序

六、数组连接concat()–不可修改原数组

(结果是数组)

var aa=[1,2]
var bb=[2,3]
var cc=aa.concat(aa,bb)
console.log(cc)//[1, 2, 1, 2, 2, 3]

七、数组以什么连接join()–不可修改原数组

(结果是字符串)

var strarr=aa.join("-")
console.log(strarr) //1-2

八、map()–对数组进行处理,返回一个全新的数组

(return不可或缺)

var maparr=[1,2,3,4,5,6];
var marr=maparr.map(function(item,index,maparr){
    return "星期"+item  //新数组的分一项
})
console.log(marr) //['星期1', '星期2', '星期3', '星期4', '星期5', '星期6']

九、filter()–过滤数组,返回一个全新的数组

var filterarr=maparr.filter(function(item,index){
    return item%2==1
})
console.log(filterarr) //[1, 3, 5]

十、some()–检测数组是否满足指定条件,直接返回布尔值,用法与filter相同

var arr=[1,2,3,4,5];
var a=arr.some(function(){
	return item>5;
})
console.log(a)//有就返回true(一次)

十一、forEach()–对数组的元素做事,针对的是对数组的每一项做事情

var arr=[1,2,3];
var sum=0;
arr.forEach(function(item,index){
	sum+=item;
})

十二、排序问题

1.冒泡排序

var pupu=[4,3,5,2,7,1,6]
for(var i=0;i<pupu.length-1;i++){
    for(var j=0;j<pupu.length-1-i;j++){
        var qqarr=[];
        if(pupu[j]>pupu[j+1]){
            qqarr=pupu[j];
            pupu[j]=pupu[j+1];
            pupu[j+1]=qqarr
        }
    }
}
console.log(pupu) //[1, 2, 3, 4, 5, 6, 7]

2.利用sort

var pupu=[4,3,5,2,7,1,6]
pupu.sort(function(a,b){
	return a-b; //升序
})

十三、数组去重

1.for循环

var repeated=[1,0,9,1,3,3,1];
for(var i=0;i<repeated.length-1;i++){
    for(var j=i+1;j<repeated.length;j++){
        if(repeated[i]==repeated[j]){
            repeated.splice(j,1)
            j--
        }
    }
}
console.log(repeated) //[1, 0, 9, 3]

2.利用查找角标indexOf

var repeated=[1,0,9,1,3,3,1];
var narr=[];
for(var i=0;i<arr.length;i++){
	if(narr.indexOf(repeated[i])==-1){
		narr.push(repeated[i])
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值