基础知识巩固,JavaScript数组复习

数组排序
var values=[0,1,5,10,15];
//sort会将数组转换成字符串
console.log(values.sort());//返回[0, 1, 10, 15, 5]
function compare(value1,value2){
    if(value1
   
   
    
    value2){
        return 1
    }else {
        return 0
    }
}
console.log(values.sort(compare));//返回[0, 1, 5, 10, 15]
   
   

数组的操作方法
//操作方法
//concat方法 拼接数组
var num1= [1,2,4,5]
var num2=num1.concat(1,2,3,[4,6,8]);
console.log(num2);//输出[1, 2, 4, 5, 1, 2, 3, 4, 6, 8]

//slice方法 切割数组
console.log(num2.slice(3));//输出[5, 1, 2, 3, 4, 6, 8]
console.log(num2.slice(3,4));//输出[5]
console.log(num2.slice(3,-1));//输出[5, 1, 2, 3, 4, 6]
console.log(num2.slice(-1,-1));//输出[]
//slice参数如果有负数,则用数组长度加上该数确定相对位置,如果结束位置小于起始位置则返回空数组

//splice方法 1删除 2插入 3替换 传递3个以上参数
num2.splice(1,3)//删除 删除的位置、要删除的项数
console.log(num2.valueOf());//[1, 1, 2, 3, 4, 6, 8]
num2.splice(2,0,9,9);
console.log(num2)//插入 位置  0  要插入的项  结果[1, 1, 9, 9, 2, 3, 4, 6, 8]
num2.splice(2,2,8,8,8);//替换加插入
console.log(num2);//输出结果[1, 1, 8, 8, 8, 2, 3, 4, 6, 8]

//位置方法 查找
console.log(num2.indexOf(8));//2
console.log(num2.lastIndexOf(8));//9
//迭代器
// 每一项返回true则返回true
var everyResult=num2.every(function (item,index,array) {
    return item>0;
});
console.log(everyResult);//true
//有一项返回true则返回true
var someResult=num2.some(function (item,index,array) {
    return item>7
})
console.log(someResult);//true

var fiterResult=num2.filter(function (item,index,array) {
    return item>6
})
console.log(fiterResult);//[8, 8, 8, 8]

var mapResult=num2.map(function (item,index,array) {
    return item-1;
})
console.log(mapResult)//[0, 0, 7, 7, 7, 1, 2, 3, 5, 7]
var sum=0;
var arrIndex=[];
num2.forEach(function (item,index,array) {
    sum+=item;
    arrIndex.push(index);
})
console.log(sum,arrIndex);  //49 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]


//缩小方法 reduce reduceRight
sum=0;
sum=num2.reduce(function (prev,cur,index,array) {
    console.log(prev,'---',cur);
    return prev+cur
})
// 1 "---" 1
// 2 "---" 8
// 10 "---" 8
// 18 "---" 8
// 26 "---" 2
// 28 "---" 3
// 31 "---" 4
// 35 "---" 6
// 41 "---" 8
console.log(sum)//49
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值