• JavaScript数组知识网络


    JavaScript数据类型

    基本数据类型

    1. Boolean
    2. Null
    3. Number
    4. String
    5. Symbol
    6. Undefined

    对象数据类型Object

    • Build-in object
    1. Array
    2. Date
    3. RegExp
    4. more...

    Array

    • 定义:JavaScript数组是内置的对象之一,它可以用一个变量来存储多个同种类型或不同类型的值。
    • 构造方法
    1. var newArr = new Array(values);
    2. var newArr = [values];
    • 判断是否数组
    1. Array.isArray(arr)
    2. arr instance of Array
    • 数据结构
    1. 栈(stack) 后进先出(LIFO), 操作:进栈arr.push(element), 出栈arr.pop(element)
    2. 队列(queue) 先进先出(FIFO), 操作:入队arr.shift(element), 出队arr.unshift(element)
    • 排序
    1. 反序. arr.reverse()
    2. 正序. arr.sort(compare). 若是字母,arr.sort()默认按字母表顺序排列; 若是数字数字字符串,可以通过设置compare函数返回值来升序或降序排列。 
    function compare(a, b) {
       return a - b; //升序, return b - a 为降序   
    }
    
    • 数组连接(concat)

    var newArray = currentArray.concat(arr1, arr2); 

    其中 arr1和arr2可以是字符串或者数组

    • slice和splice

        二者皆有切片功能,即把数据的某部分切下来放到另一个数组里。不同的是slice只是把原数组的内容复制到另一个数组,并不会影响原数组,而splice则会影响原数组。打个比方,slice就像一台扫瞄仪,只扫描信息,不损坏原来信息;而splice像一个影片剪辑,会对剪辑的影片进行剪掉或拼接。两者的最后一个参数都是可选的,slice默认count为currArr.length - index, 而splice默认insertElement为空.

        slice用法:var newArr = currArr.slice(index, count) 结果是把currArr从index开始之后的count个元素扫描到newArr;

        splice用法:var newArr = currArr.splice(index, count, insertElement) 结果是把currArr从index开始之后count个元素剪掉放到newArr里。

    • 索引

        arr.indexOf(element) 从arr[0]开始找出element所在位置

        arr.lastIndexOf(element) 从arr[arr.length-1] 开始找出element的位置。

    • 数组遍历
    1. every. var result = currArr.every(function(element, index, array){ return ... }); result类型为Boolean
    2. some. var result = currArr.some(function(element, index, array){ return ... }); result类型为Boolean
    3. map  var result = currArr.map(function(element, index, array){ return ... }); result类型为Array
    4. filter   var result = currArr.every(function(element, index, array){ return ... }); result类型为Array
    5. forEach 无返回值
    • 归并
    1. reduce 用法 var result = currArr.reduce(pre, curr, index, array){return pre+curr;} 从currArr[0]开始求数组元素之和
    2. reduceRight  用法 var result = currArr.reduceRight(pre, curr, index, array){return pre+curr;} 从currArr[currArr.length - 1]开始求数组元素之和
    3. 两者结果相同
  • 相关阅读:
    Tile based Rendering 二 tbr and tbdr 优化建议tiled based deferred rendering
    手游项目可以考虑采用的图形技术
    raymarching
    unity lightmap
    transparent shadow caster unity
    winform学习-----理解小概念-20160517
    .net操作xml文件(新增.修改,删除,读取)---datagridview与xml文件
    参考XML操作类
    C#操作XML(读XML,写XML,更新,删除节点,与dataset结合等)【转载】
    winform学习2-datagridview数据绑定
  • 原文地址:https://www.cnblogs.com/vsky/p/5634646.html
Copyright © 2020-2023  润新知