摘要:一维数组数组是按次序排列的一组值。每个值的位置都有编号从开始,整个数组用方括号表示。方法用于颠倒排列数组元素,返回改变后的数组该方法将改变原数组。方法对数组成员进行排序,默认是按照字典顺序排序。
一维数组
数组(array)是按次序排列的一组值。每个值的位置都有编号(从0开始),整个数组用方括号表示。
var arr = ["a", "b", "c"];
创建数组的方式
var arr = new Array(1,2,3);
var arr = Array(1,2,3);
var = [1,2,3];二维数组
数组可以嵌套 一个数组可以作为一个元素被包含在另外一个数组里面 这就是二维数组
var arr=[[1,2,3],[4,5,6],[7,8,9]]
检测数组的方法
console.log(arr instanceof Array); console.log(Object.prototype.toString.call(arr)); console.log(Array.isArray(arr));
转换方法
toString
把数组转换为字符串 并返回结果
var arr=[1,2,3,4,5]; console.log(arr.toString()) //1,2,3,4,5
valueOf
返回 Boolean 对象的原始值
var arr=[1,2,3,4,5]; console.log(arr.valueOf()) // [1,2,3,4,5]数组的一些方法
push
push方法用于在数组的末端添加一个或多个元素,并返回添加新元素后的数组长度 该方法会改变原数组
var arr = []; arr.push(1) // 1 --->数组长度 arr.push("a") // 2 arr.push(true, {}) // 4 arr // [1, "a", true, {}]
pop
pop方法用于删除数组的最后一个元素,并返回该元素 该方法会改变原数组
对空数组使用pop方法,不会报错,而是返回undefined
var arr = ["a", "b", "c"]; arr.pop() // "c" arr // ["a", "b"]
shift
shift方法用于删除数组的第一个元素,并返回该元素 该方法会改变原数组
var a = ["a", "b", "c"]; a.shift() // "a" a // ["b", "c"]
unshift
unshift方法用于在数组的第一个位置添加元素,并返回添加新元素后的数组长度 该方法会改变原数组
var a = ["a", "b", "c"]; a.unshift("x"); // 4 a // ["x", "a", "b", "c"]
unshift方法可以接受多个参数,这些参数都会添加到目标数组头部。
var arr = [ "c", "d" ]; arr.unshift("a", "b") // 4 arr // [ "a", "b", "c", "d" ]
reverse
reverse方法用于颠倒排列数组元素,返回改变后的数组 该方法将改变原数组。
var a = ["a", "b", "c"]; a.reverse() // ["c", "b", "a"] a // ["c", "b", "a"]
sort
sort方法对数组成员进行排序,默认是按照字典顺序排序。排序后,原数组将被改变
sort方法不是按照大小排序,而是按照Unicode顺序 即数值会被先转成字符串,再按照Unicode顺序进行比较,所以101排在11的前面。
[11, 101].sort() // [101, 11]
如果想让sort方法按照自定义方式排序,可以传入一个函数作为参数。
[10111,1101,111].sort(function(a,b){ return a-b; }) //[111, 1101, 10111]
concat
concat方法用于多个数组的合并 它将新数组的成员,添加到原数组成员的后部,然后返回一个新数组,原数组不变。
["hello"].concat(["world"]) // ["hello", "world"]
slice
slice方法用于提取目标数组的一部分,返回一个新数组,原数组不变。
arr.slice(start, end);
它的第一个参数为起始位置(从0开始),第二个参数为终止位置(但该位置的元素本身不包括在内)。如果省略第二个参数,则一直返回到原数组的最后一个成员。
var a = ["a", "b", "c"]; a.slice(0) // ["a", "b", "c"] a.slice(1) // ["b", "c"] a.slice(1, 2) // ["b"]
如果slice方法的参数是负数,则表示倒数计算的位置。
var a = ["a", "b", "c"]; a.slice(-2) // ["b", "c"] a.slice(-2, -1) // ["b"]
-2表示倒数计算的第二个位置,-1表示倒数计算的第一个位置。
如果第一个参数大于等于数组长度,或者第二个参数小于第一个参数,则返回空数组
splice
splice方法用于删除原数组的一部分成员,并可以在删除的位置添加新的数组成员,返回值是被删除的元素。该方法会改变原数组
splice的第一个参数是删除的起始位置(从0开始),第二个参数是被删除的元素个数。如果后面还有更多的参数,则表示这些就是要被插入数组的新元素
var a = ["a", "b", "c", "d", "e", "f"]; a.splice(4, 2) // ["e", "f"]
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/108381.html
摘要:本章节在此基础上,对语言阶段指针进行更深层次的研究。数组指针的类型由数组类型决定,先找出数组的类型去掉名就是类型。相当于数组指针所指向数组的数组名。数组指针指向整个数组,将其看作二维数组并解引用得到一行的首元素,从而遍历访问。 ...
摘要:数组有以下特点无类型数组元素可以是任意元素。因此,当小于数组最大索引时,大于的数组元素会被删除。原数组不会改变将数组元素转换为字符串并连接在一起。默认将数组元素用,连接,传入的参数即为连接符。 showImg(https://box.worktile.com/view/fcfcdf2c99b14edfb6768085955ae253?pid=4b0845b09ca94218a955f8...
摘要:为了维持此规则不变化,数组有两个特殊的行为。运算符对数组返回并且对于除了函数以外的所有对象都是如此。解决方案是检查对象的类属性,对数组而言该属 数组 数组是值的有序集合。每个值叫做一个元素,而每个元素在数组中有一个位置,以数字表示,称为索引。 JavaScript 数组是无类型的,数组元素可以是任意类型,并且同一个数组中的不同元素也可能有不同的类型。数组的元素甚至也可能是对象或其他数组...
摘要:与稀疏数组对立的为密集数组,密集数组的索引会被持续的创建,并且其元素的数量等于其长度。创建一个长度为的数组,并初始化了个元素使用构造函数创建数组对象的时候,关键字是可以省略的。另外使用和删除元素是影响数组的长度的。 说明:本文只总结了JavaScript数组在web端的行为,不包括NodeJs端的行为。本文不涉及类型化数组(TypedArray)的讨论、总结。 一、什么是数组 数组的定...
摘要:知识体系梳理流程图一维数组数组概述数组是指一组数据的集合,数组中的每个数据被称作元素。定义打印数组元素方法按照给定的格式打印题目分析通过观察发现,要实现按照指定格式,打印数组元素操作。按照这种方式,数组循环多圈以后,就完成了数组元素的排序。 知识体系梳理流程图 showImg(https://segmentfault.com/img/bVXwAi?w=902&h=652); 一维数组 ...
摘要:数组是数据的有序列表,与其他语言不同的是,数组的每一项可以保存任何类型的数据。如下的代码创建的就是一个密集数组稀疏数组与密集数组相反,并不强制要求数组元素是紧密相连的,即允许间隙的存在。 数组是数据的有序列表,与其他语言不同的是,ECMAScript 数组的每一项可以保存任何类型的数据。也就是说,可以用数组的第一个位置来保存字符串,用第二位置来保存数值,用第三个位置来保存对象, 以此类...
阅读 1661·2019-08-30 12:51
阅读 655·2019-08-29 17:30
阅读 3694·2019-08-29 15:17
阅读 850·2019-08-28 18:10
阅读 1354·2019-08-26 17:08
阅读 2168·2019-08-26 12:16
阅读 3428·2019-08-26 11:47
阅读 3495·2019-08-23 16:18