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. 两者结果相同
时间: 2024-10-09 22:02:51

JavaScript数组知识网络的相关文章

javaScript数组知识梳理与排列三源码出售

数组的概念:排列三源码出售(企 娥:217 1793 408) 数组中的每个元素的类型可以是不同的,可以是数值型,字符串型和布尔型,甚至也可以是一个数组 1.使用构造函数Array定义数组, 2.直接定义数组 delete:删除数组元素,数组元素的个数不会变,改变的是元素的值,变为undefined length:返回数组的长度,数组的长度有其最大下表决定 protoytpe:可以数组添加自定义的属性和方法 数组对象的方法: concat():链接两个或者更过的数组,并返回其结果 push():

JavaScript基础知识梳理--数组

JavaScript基础知识梳理--数组 1.创建方法 空数组:var obj=new Array(); 指定长度数组: var obj=new Array( size ); 指定元素数组 :  var obj=new Array( 元素1,元素2,....): 单位数组:var obj=new Array[ 元素1,元素2,元素3,...,元素N]; 多维数组:var a=new Array( [数组1],[数组2],[数组3],...,[数组N] ); 2.基本操作 存取数组元素: 单维数组

【转载】JavaScript基础知识体系

前言 最近总是有一种感觉,对于知识没有积淀,很多时候都是忘记了哪里就去查一下,比如JS这种语言,很是浪费时间,如果能够把这些知识形成知识体系塞进大脑,做到即用即取就好了,那么就可以借助思维导图来帮助我们完成这项工作.所谓温故而知新,今天把JavaScript相关的知识整理下(图片来自网络). 一.JavaScript变量 二.JavaScript数据类型 三.JavaScript运算符 四.JavaScript流程语句 五.JavaScript字符串函数 六.JavaScript正则表达式 七.

[转帖]AST抽象语法树——最基础的javascript重点知识,99%的人根本不了解

AST抽象语法树——最基础的javascript重点知识,99%的人根本不了解 https://segmentfault.com/a/1190000016231512 太长没看完.. javascriptvue-clicommonjswebpackast 阅读约 27 分钟 抽象语法树(AST),是一个非常基础而重要的知识点,但国内的文档却几乎一片空白. 本文将带大家从底层了解AST,并且通过发布一个小型前端工具,来带大家了解AST的强大功能 Javascript就像一台精妙运作的机器,我们可以

AST抽象语法树——最基础的javascript重点知识,99%的人根本不了解

AST抽象语法树——最基础的javascript重点知识,99%的人根本不了解 javascriptvue-clicommonjswebpackast 阅读约 27 分钟 抽象语法树(AST),是一个非常基础而重要的知识点,但国内的文档却几乎一片空白. 本文将带大家从底层了解AST,并且通过发布一个小型前端工具,来带大家了解AST的强大功能 Javascript就像一台精妙运作的机器,我们可以用它来完成一切天马行空的构思. 我们对javascript生态了如指掌,却常忽视javascript本身

JavaScript 数组去重

JavaScript 数组去重 Why underscore (觉得这部分眼熟的可以直接跳到下一段了...) 最近开始看 underscore.js 源码,并将 underscore.js 源码解读 放在了我的 2016 计划中. 阅读一些著名框架类库的源码,就好像和一个个大师对话,你会学到很多.为什么是 underscore?最主要的原因是 underscore 简短精悍(约 1.5k 行),封装了 100 多个有用的方法,耦合度低,非常适合逐个方法阅读,适合楼主这样的 JavaScript

javascript 基础知识

javascript 基础知识编程规范注释 //驼峰对象化编程 数据类型字符串.数字.布尔.数组.对象.Null.Undefined定义 var carname=new String; var x= new Number; var y= new Boolean; var cars= new Array; var person= new Object; 字符串 var word = "Hello World!"; 数字 var x1 = 34.00; //使用小数点来写 var x2 =

Javascript基础知识4

字符串大小写转换 toUpperCase()将所有的字符串转换成大写 toLowerCase()将所有的字符串转换成小写 substring(x,y)返回字符串的一部分,从x开始到y结束 charAt(x)获取第x个字符 indexOf("",x)查找字符串, 第一个内容是字符串,第二个是从第x开始 得到的值为这个字符串是从第几个字符开始的 同样lastindexOf()从最后开始查找 split("")分离字符串,内容为以什么分离, 得到的是一个数组 同理,将一个

深入浅出 JavaScript 数组 v0.5

本文来自:http://www.cnblogs.com/googny/p/3747832.html 有一段时间不更新博客了,今天分享给大家的是一篇关于JS数组的,数组其实比较简单,但是用法非常灵活,在工作学习中应该多学,多用,这样才能领会数组的真谛. 以下知识主要参考<JS 精粹>和<JavaScript 高级程序设计>. 数组是一段线性分配的内存,它通过整数计算偏移并访问其中的元素.JavaScript 没有像此类数组一样的数据结构. 它提供了一些类数组特性的对象,它把数组的下标