JavaScript数组的长度和元素类型都是非固定的。因为数组的长度可随时改变,并且其数据在内存中也可以不连续,所以 JavaScript 数组不一定是密集型的,这取决于它的使用方式。
1.Array.length
  获取或设置数组长度。
2.Array.prototype
  通过数组的原型对象可以为所有数组对象添加属性。
3.Array.isArray()
  检测数组。
4.Array.prototype.push()
  追加元素到数组末尾,并返回新的数组长度。
5.Array.prototype.pop()
  移除数组末尾元素,并返回移除的元素。
6.Array.prototype.unshift()
  在数组首部添加元素,并返回新的数组长度。
7.Array.prototype.shift()
  移除数组首部元素,并返回移除的元素。
8.Array.prototype.splice()
  通过索引删除后替换元素。
9.Array.prototype.join()
  连接所有数组元素组成一个字符串。
10.Array.prototype.indexOf()
  在数组中查询某一元素首次出现的索引,如果未查询到该元素,返回-1。
11.Array.prototype.lastIndexOf()
  在数组中查询某一元素最后一次出现的索引,如果未查询到该元素,返回-1。
12.Array.prototype.includes()
  判断数组是否包含某指定的值,如果是返回 true。
13.Array.prototype.slice(startIndex,endIndex)
  一个参数时,返回执行位置到数组末尾项组成的新数组。两个参数时,返回两个参数之间但不包括结束位置项组成的新数组,但不改变原数组。
14.Array.prototype.reverse()
  反转数组项的顺序。
15.Array.prototype.sort()
  无参时,会调用每一个数组项的toString()方法,然后比较字符串排序。也可接收一个比较函数作为参数,以便在比较函数里指定排序规则。
16.Array.prototype.forEach()
  遍历数组。
17.Array.prototype.every()
  如果数组中的每个元素都满足测试函数,则返回 true。
18.Array.prototype.some()
  如果数组中至少有一个元素满足测试函数,则返回 true。
19.Array.prototype.filter()
  返回满足测试函数的元素组成的数组。
20.Array.prototype.map()
  返回每一个元素进行测试函数操作后组成的数组,不改变原数组。
21.Array.prototype.findIndex()
  返回第一个满足测试函数的元素的索引。
22.Array.prototype.reduce()
  该回调函数的返回值为累积结果,并且此返回值在下一次调用该回调函数时作为参数提供。

以下为示例代码

/* 创建数组方法:字面量,构造函数 */
var createArray1 = [0, 1, 2, 3, 4, 5, 6];
var createArray2 = new Array(); /* 1.Array.length:获取或设置数组长度 */
console.log(createArray1.length);// /* 2.Array.prototype:通过数组的原型对象可以为所有数组对象添加属性。 */ /* 3.Array.isArray():检测数组。 */
console.log(Array.isArray(createArray1));//true /* 4.Array.prototype.push():追加元素到数组末尾,并返回新的数组长度。*/
var fruitArray = ["mango"];
var pushResult = fruitArray.push("cherry");
console.log(fruitArray); //object:["mango", "cherry"]
console.log(pushResult); //number:2 /* 5.Array.prototype.pop():移除数组末尾元素,并返回移除的元素。 */
var popResult = fruitArray.pop();
console.log(fruitArray); //object:["mango"]
console.log(popResult); //string:cherry /* 6.Array.prototype.unshift():在数组首部添加元素,并返回新的数组长度。 */
var unshiftResult = fruitArray.unshift("apple");
console.log(fruitArray);//object:["apple", "mango"]
console.log(unshiftResult);//number:2 /* 7.Array.prototype.shift():移除数组首部元素,并返回移除的元素。 */
var shiftResult = fruitArray.shift();
console.log(fruitArray);//object:["mango"]
console.log(shiftResult);//string:apple /* 8.Array.prototype.splice():通过索引删除后替换元素。 */
var pokers = [0, 1, 2, 3, 4, 5, 6, 7, 8];
var spliceResulr = pokers.splice(3, 2);
console.log(pokers);//[0, 1, 2, 5, 6, 7, 8]
console.log(spliceResulr);//[3, 4]
pokers.splice(3, 0, [3, 4]);
console.log(pokers);//[0, 1, 2, 3, 4, 5, 6, 7, 8] /* 9.Array.prototype.join():连接所有数组元素组成一个字符串。 */
console.log(['h', 'e', 'l', 'l', 'o'].join('-'));//h-e-l-l-o /* 10.Array.prototype.indexOf():在数组中查询某一元素首次出现的索引。*/
var numbers = [7, 8, 9, 8, 7];
var indexOfResult = numbers.indexOf(8);//number:1
var lastIndexOfResult = numbers.lastIndexOf(8);//number:3 /* 12.Array.prototype.includes():判断数组是否包含某指定的值,如果是返回 true。 */
var includesResult = numbers.includes(8);
console.log(includesResult);//true /* 13.Array.prototype.slice(startIndex,endIndex):一个参数时,返回执行位置到数组末尾项组成的新数组。两个参数时,返回两个参数之间但不包括结束位置项组成的新数组,但不改变原数组。*/
var characters = ['a', 'b', 'c', 'd', 'e', 'f', 'g'];
var copyResult1 = characters.slice(0);
var copyResult2 = characters.slice(2, 4);
console.log(copyResult1);//["a", "b", "c", "d", "e", "f", "g"]
console.log(copyResult2);//["c", "d"] /* 14.Array.prototype.reverse():反转数组项的顺序。 */
characters.reverse();
console.log(characters);//["g", "f", "e", "d", "c", "b", "a"] /* 15.Array.prototype.sort():无参时,会调用每一个数组项的toString()方法,然后比较字符串排序。也可接收一个比较函数作为参数,以便在比较函数里指定排序规则。 */
var noArray = [4, 8, 2, 6, 10, 12, 14];
noArray.sort();
console.log(noArray);//[10, 12, 14, 2, 4, 6, 8]
noArray.sort(function (value1, value2) { return value1 - value2; });
console.log(noArray);//[2, 4, 6, 8, 10, 12, 14] 注意null的判断,待补充,否则会报错。 /* 16.Array.prototype.forEach():遍历数组。*/
var numberArray = [11, 22, 33, 44, 55, 66, 77, 88, 99];
numberArray.forEach(function (value, index, array) { }); /* 17.Array.prototype.every():如果数组中的每个元素都满足测试函数,则返回 true。 */
var everyResult = numberArray.every(function (value, index, array) { return value > 55; }); /* 18.Array.prototype.some():如果数组中至少有一个元素满足测试函数,则返回 true。 */
var someResult = numberArray.some(function (value, index, array) {return value > 55;});
/* 19.Array.prototype.filter():返回满足测试函数的元素组成的数组。*/
var filterResult = numberArray.filter(function (value, index, array) { return value > 55;}); /* 20.Array.prototype.map():返回每一个元素进行测试函数操作后组成的数组,不改变原数组。 */
var mapResult = numberArray.map(function (value, index, array) {return value * 10;}); /* 21.Array.prototype.findIndex():返回第一个满足测试函数的元素的索引。 */
var findIndexResult = numberArray.findIndex(function (value, index, array) {return value > 55;}); /* 22.Array.prototype.reduce():该回调函数的返回值为累积结果,并且此返回值在下一次调用该回调函数时作为参数提供。 */
var reduceResult = numberArray.reduce(function (preValue, currValue, currIndex, array) {
console.log(preValue + "-" + currValue);////11-22 22-33 33-44...88-99
return preValue > currValue ? preValue : currValue;
});
console.log(reduceResult);//

JavaScript数组(参考资料)的更多相关文章

  1. JavaScript数组中的22个常用方法

    数组总共有22种方法,本文将其分为对象继承方法.数组转换方法.栈和队列方法.数组排序方法.数组拼接方法.创建子数组方法.数组删改方法.数组位置方法.数组归并方法和数组迭代方法共10类来进行详细介绍. ...

  2. JavaScript数组常见操作

    JavaScript数组常见操作 Tip: 右键在新标签中打开查看清晰大图 下面介绍JavaScript中的数组对象遍历.读写.排序等操作以及与数组相关的字符串处理操作 创建数组 一般使用数组字面量[ ...

  3. Javascript数组操作

    使用JS也算有段时日,然对于数组的使用,总局限于很初级水平,且每每使用总要查下API,或者写个小Demo测试下才算放心,一来二去,浪费不少时间:思虑下,堪能如此继续之?当狠心深学下方是正道. 原文链接 ...

  4. Javascript数组操作(转)

    1.数组的创建 var arrayObj = new Array(); //创建一个数组 var arrayObj = new Array([size]); //创建一个数组并指定长度,注意不是上限, ...

  5. JavaScript 数组

    JavaScript 数组 简介:数组是值的有序集合,JavaScript在同一个数组中可以存放多种类型的元素,而且是长度也是可以动态调整的,可以随着数据增加或减少自动对数组长度做更改. 一:创建数组 ...

  6. 也谈面试必备问题之 JavaScript 数组去重

    Why underscore (觉得这部分眼熟的可以直接跳到下一段了...) 最近开始看 underscore.js 源码,并将 underscore.js 源码解读 放在了我的 2016 计划中. ...

  7. js 判断数组包含某值的方法 和 javascript数组扩展indexOf()方法

    var  questionId = []; var anSwerIdValue = []; ////javascript数组扩展indexOf()方法 Array.prototype.indexOf ...

  8. JavaScript 数组 length 属性获取数组长度或设置数组元素的数目

    JavaScript 数组 length 属性 JavaScript 数组 length 属性可返回或设置或组中元素的数目,语法如下: array_object.length 利用 length 属性 ...

  9. 【读书笔记】-- JavaScript数组

    数组是一段线性分配的内存,它通过整数计算偏移并访问其中的元素.大多数的语言都会要求一个数组的元素是相同类型,但JavaScript数组可以包含任意类型. var misc = ['string', n ...

随机推荐

  1. 一.jQuery源码解析之总体架构

    (function (window, undefined) { //构建jQuery对象 var document = window.document, navigator = window.navi ...

  2. 【HDU】4352 XHXJ's LIS(数位dp+状压)

    题目 传送门:QWQ 分析 数位dp 状压一下现在的$ O(nlogn) $的$ LIS $的二分数组 数据小,所以更新时直接暴力不用二分了. 代码 #include <bits/stdc++. ...

  3. Synergy使用(安装及配置)

    最近在看一篇文章,找到了一款符合我需求的软件:Synergy. Synergy可以在多台电脑上进行鼠标与键盘及剪贴板(只能共享文本)的共享.不用每台电脑都插上这些外设了... 共享文件可以参看微软出品 ...

  4. asp.net利用QQ邮箱发送邮件,关键在于开启pop并设置授权码为发送密码

    public static bool SendEmail(string mailTo, string mailSubject, string mailContent)        {         ...

  5. manjaro i3 配置笔记

    更改国内源 sudo pacman-mirrors -GB testing -c China 增加Arch linuxcn源 在/etc/pacman.conf文件末尾添加两行: [archlinux ...

  6. go_goroutine and channel

    协程Coroutine 轻量级”线程“ 非抢占式多任务处理,由协程主动交出控制权(如果程序中间没有print,程序会一直霸占着调度器) 编译器/解释器/虚拟机层面的多任务 多个协程可能在一个或多个线程 ...

  7. SOCKET, TCP/UDP, HTTP, FTP 浅析

    SOCKET, TCP/UDP, HTTP, FTP (一)TCP/UDP,SOCKET,HTTP,FTP简析   TCP/IP是个协议组,可分为三个层次:网络层.传输层和应用层: 网络层:IP协议. ...

  8. 基于python的Appium自动化测试的坑

    真的感谢@虫师 这位来自互联网的老师,让我这个原本对代码胆怯且迷惑的人开始学习自动化测试. 一开始搜索自动化测试的时候,虫师的博客园教程都是在百度的前几位的,我就跟着虫师博客园里面的教程学习.后来学s ...

  9. Swift与OC的相互调用

    Swift经过四年的发展已经趋于成熟,是时候学一下了,感谢公司swift大佬的不吝赐教.心有所感记录一下,如有不足欢迎指正批评. 新建swift项目 新建Swift.OC类文件 可在新建OC文件时,建 ...

  10. 3-java_string学习笔记:

    java中String的常用方法