• js 引用类型之Array类型


    //1.concat() 方法  不会改变原数组,会复制一个原数组的副本进行拼接
    var arr = ['red', 'zhansan', 'xin'];
    var arr2 = arr.concat('2', ['3', '9']);
    console.log(arr); //[ 'red', 'zhansan', 'xin' ]
    console.log(arr2); //[ 'red', 'zhansan', 'xin', '2', '3', '9' ]
    
    //2.slice() 方法  不会改变原数组,含有两个参数时,截取的结果含头不含尾,只有一个参数时,截取的是从该参数指定位置到当前数组末尾的所有项
    var arr3 = ['sasd', '2', 'zan', 'xin'];
    var arr4 = arr3.slice(1);
    var arr5 = arr3.slice(1, 3);
    console.log(arr4); //[ '2', 'zan', 'xin' ]
    console.log(arr5); //[ '2', 'zan' ]
    
    //3.splice() 方法 主要用途向数组中部插入数据
    var arr6=[1,2,3,4,5]
    //删除
    var arr7=arr6.splice(0,2)// 删除数组前两项
    console.log(arr7)//[ 1, 2 ]
    console.log(arr6)//[ 3, 4, 5 ] 原数组arr6 被改变
    
    //插入
    //splice(起始位置,要删除的项数,要插入的项,要插入的项,...)
    var arr8=[2,3,4,6]
    var arr9=arr8.splice(2,0,"red",'oo')//会删除当前数组位置2的项目,然后在从位置2开始插入字符串red和oo
    console.log(arr9)//空数组
    console.log(arr8)//[ 2, 3, 'red', 'oo', 4, 6 ]  改变原数组
    
    //替换
    //splice(起始位置,要删除的项数,要插入的项,要插入的项,...)插入的项不必和删除的项相等
    var arr10=[1,2,'22','asd'];
    var arr11=arr10.splice(1,2,"你好",'hai');
    console.log(arr11)//[ 2, '22' ]
    console.log(arr10)//[ 1, '你好', 'hai', 'asd' ]
    
    
    //4.位置方法  indexOf() lastIndexOf() 没找的情况下都返回-1,在比较第一个参数与数组的每一项时,必须使用全等 ===
    
    var numbers=[1,2,3,4,5,6,4,7,8];
    console.log(numbers.indexOf(4))//位置为 3
    console.log(numbers.lastIndexOf(4))//位置为 6
    
    //5.迭代方法
    
    var num=[1,2,3,4,6,4,3,2,1];
    var result=num.filter(function (item,index,arr){
        return (item >2) //数组中值大于2的值 组成新的数组
    })
    console.log(result)//[ 3, 4, 6, 4, 3 ]
    
    var result1=num.map(function (item,index,arr){
        return (item*2) //数组值全部*2 生成新数组
    })
    console.log(result1)//[ 2, 4, 6, 8, 12, 8, 6, 4, 2 ]
    
    var result2=num.forEach(function (item,index,arr){
        console.log("item"+item+"-index"+index+"-arr:"+arr)//历遍数组 和for循环类似
    //item1-index0-arr:1,2,3,4,6,4,3,2,1
    //item2-index1-arr:1,2,3,4,6,4,3,2,1
    //item3-index2-arr:1,2,3,4,6,4,3,2,1
    //item4-index3-arr:1,2,3,4,6,4,3,2,1
    //item6-index4-arr:1,2,3,4,6,4,3,2,1
    //item4-index5-arr:1,2,3,4,6,4,3,2,1
    //item3-index6-arr:1,2,3,4,6,4,3,2,1
    //item2-index7-arr:1,2,3,4,6,4,3,2,1
    //item1-index8-arr:1,2,3,4,6,4,3,2,1
    })
    
    
    //6.归并方法 reduce() reduceRight() 的函数接受4个参数,前一个值,当前值,项的索引和数组对象
    var val=[1,2,3,4,5,6,7,8,9,10];
    var sum=val.reduce(function(prev,cur,index,arr){
        return prev+cur;
    })
    
    console.log(sum)//55
  • 相关阅读:
    克服 iOS HTML5 音频的局限
    oracle__删除重复记录__三种方法及总结(转载百度文库)
    Oracle 字符集
    无法通过网页进入em
    Ubuntu 12.04(32位)安装Oracle 11g(32位)全过程以及几乎所有问题的解决办法
    正则表达式30分钟入门教程
    linux下安装jdk
    QTP相关书籍
    假的数论gcd,真的记忆化搜索(Codeforce 1070- A. Find a Number)
    搜索基础_HDU1312_dfs_递归+stack实现+bfs_queue实现
  • 原文地址:https://www.cnblogs.com/xzma/p/7479651.html
Copyright © 2020-2023  润新知