zoukankan      html  css  js  c++  java
  • 深入理解js数组

    一、数组遍历

    1.原生js方法

    for(var i=0;i<arr.length;i++){
        console.log(arr[i])
    }

    2.forEach/map

    arr.forEach(function(i){
        console.log(i)
    })
    
    arr.map(function(i){
        console.log(i)
    })

    3.for...of

    ES6新增功能

    for(let key of arr){
        console.log(key);
    }

    4.for…in

    for…in主要是为遍历对象而设计的,不适用于遍历数组。 
      遍历数组时的缺点: 
        1. 数组的键名是数字,但是for…in循环是以字符串作为键名“0”、“1”、“2”等等。 
        2. for…in循环不仅遍历数字键名,还会遍历手动添加的其他键,甚至包括原型链上的键。 
        3. 某些情况下,for…in循环会以任意顺序遍历键名。

    ============================================================================

    二、数组的一些常用方法

    1、直接操作数组的:

    shift( )移除数组中的第一项,返回该项
    unshitf( )在数组前端添加任意个项,返回新数组的长度
    push( ) 在数组末尾添加任意个项,返回修改后数组的长度
    pop( ) 删除数组最后一项,返回该项
    reverse( ) 反转数组顺序
    splice(start, 要删除的项,要插入的项) 对原数组进行删除、插入、替换操作,返回删除的项(如果没有删除,则返回空数组)
    sort([compareFun])根据某种规则排序,默认Unicode位点排序

    2、不影响原数组,只返回新数组的:

    toString( )valueOf( ) :都返回数组的以逗号分隔的字符串
    join( )返回数组的以指定分隔符分隔的字符串
    concat( ) 合并数组,返回合并后的新数组
    slice( start, [end]) 截取数组某一段值,slice( )若不传值,则执行浅拷贝,start从0开始
    map(callback[,thisArg])让数组通过某种计算,返回新的数组、
    filter( callback[, thisArg])筛选出数组中符合条件的项,组成新数组
    reduce( callback[, thisArg]) 让数组中前项和后项做某种运算,并累计最终值

    3、返回其他值的

    forEach(callback[, thisArg])让数组中的每一项做一件事,返回undefined ie9+
    every( callback[, thisArg])检验数组中每一项是否符合条件,全部符合返回true
    some( callback[, thisArg])检验数组中是否有符合条件的项,存在返回true


    ============================================================================

    三、数组及对象的深拷贝

    https://www.cnblogs.com/webrqy/p/9772893.html

    ### 版权申明:本文由objJs原创,允许转载,但转载必须附注首发链接。谢谢 

  • 相关阅读:
    java-03 方法
    cm 安装
    java-02 for循环,while循环
    java-01
    Storm入门,看这篇就够了
    Storm入门,看这篇就够了
    基于Spark的电影推荐系统(电影网站)
    基于Spark的电影推荐系统(实战简介)
    基于Spark的电影推荐系统(Scrapy爬虫)
    基于Spark的电影推荐系统(后台管理系统)
  • 原文地址:https://www.cnblogs.com/webrqy/p/6054437.html
Copyright © 2011-2022 走看看