JavaScrip数据构造之数组的相关操纵介绍(附示例)
本篇文章给大家带来的内容是关于JavaScrip数据构造之数组的相关操纵介绍(附示例),有必然的参照 价值,有需要的伴侣可以参照 一下,但愿对你有所帮忙。
数据构造的分类
数据构造是指彼此之间存在着一种或多种关系的数据元素的汇合和该汇合中数据元素之间的关系组成 。
常用的数据构造有:数组,栈,链表,队列,树,图,堆,散列表等,如图所示:
数组
数组是最简便的内存数据构造,数组是可以再内存中持续储备多个元素的构造,在内存中的分配也是持续的,数组中的元素通过数组下标停止拜访,数组下标从0开端。
tips:数据一样储备着一系列数据类型雷同的值,但在JavaScript中,可以在数组中留存不一样类型的值,但一样不需要这么用。
1.创立数组
let daysOfWeek = new Array(); let daysOfWeek = new Array(7); let daysOfWeek = new Array('1', '2', '3', '4', '5', '6', '7');
2.增加元素
// 初始化nums数组 let nums = [0,1,2,3,4,5,6]; // 指定位置增加 nums[nums.length] = 7; // 使用push(),把元素增加到数组末尾 nums.push(8);// 0...8 nums.push(9, 10);// 0...10 // 使用unshift,把元素增加到数组首位 nums.unshift(-1);// -1...10 nums.unshift(-3,-2);// -3...10
3.删除元素
// pop(),删除最后一个 nums.pop();//-3...9 // shift(),删除第一个 nums.shift();//-2...9
4.任何位置删除或增加元素
// splice()办法 nums.splice(2, 3);// 删除 index=2 开端的后的3个数 -2,-1,3...9 nums.splice(2, 0, 0, 1, 2);// 从index=2开端插入0,1,2 -2...9
5.javascript数组办法参照
concat() // 连接2个或多个数组,并返回结果 every() // 对数组中的每一项运转给定函数,假如该函数对每一项都返回true,则返回true filter() // 对数组中的每一项运转给定函数,返回该函数能返回true的项作为新数组 forEach() // 对数组中的每一项运转给定函数,没有返回值 join() // 按传入的字符连接成一个字符串 indexOf() // 从前往后遍历,返回第一个与传入参数相等的索引值,没寻到返回-1 lastIndexOf() // 从后往前遍历,返回第一个与传入参数相等的索引值 map() // 对数组中的每一项运转给定函数,返回每次函数调取的结果组成新的数组 reverse() // 颠倒数组中元素的次序 slice() // 传入索引值,将数组对应索引值范畴内的元素作为新数组返回 some() // 对数组中的每一项运转给定函数,假如某一项返回true,则返回true sort() // 依照字母次序排序,支撑传入指定排序办法的函数作为参数 toString() // 将数组作为字符串返回 valueOf() // 和toString相似,将数组作为字符串返回
6.ES6数组新增办法
@@iterator // 返回一个包括数组键值对的迭代器对象,可通过同步调取得到数组元素的键值对 copyWithin() // 复制数组中一系列元素,到该数组指定的起始位置 entries() // 返回包括数组所有键值对的@@iterator includes() // 数组中存在某个元素则返回true,不然返回false(es7新增) find() // 按照回调函数给定的前提从数组中查寻元素,假如寻到则返回该元素 findIndex() // 按照回调函数给定的前提从数组中查寻元素,假如能寻到就返回该元素在数组中的索引 fill() // 用传入参数填凑数组 from() // 按照已有数组创立一个新数组 keys() // 返回包括数组所有索引的@@iterator of() // 按照传入的参数创立一个新数组 values() // 返回包括数组中所有值的@@iterator
7.数组优缺陷
长处:
(1)依照索引查询元素速度快
(2)依照索引遍历数组利便
缺陷:
(1)数组的大小牢固后就没法扩容了
(2)数组只能储备一品种型的数据
(3)增加,删除的操纵慢,由于要移动其他的元素。
适用处景:
频繁查询,对储备空间要求不大,很少增添和删除的状况。
以上就是JavaScrip数据构造之数组的相关操纵介绍(附示例)的具体内容,更多请关注百分百源码网其它相关文章!