美文网首页
犀牛书7-数组

犀牛书7-数组

作者: 名字长不重复 | 来源:发表于2017-10-31 18:22 被阅读0次

数组是经历过优化的对象,用数字索引来访问数组一般来说要比访问常规的对象属性要快很;

数组的直接量允许有可选的结尾的逗号,所以[ , , ]的长度为2;

数组是对象的特殊的方式,使用【】来访问数组元素的时候,就像用方括号访问对象的属性;过程是:JavaScript现将数值1转换成字符串‘1’,在进行属性名来使用;

数组的序号范围0-2 32 -2超过这个范围数组的长度会为稳定在固定的数值不会发生变化,

a[-1.23]为a数组添加一个‘-1.23’的属性
a['1000']为a数组的第1001个元素
a[1.000]和a[1]一样;

字面量声明数组与构造函数声明数组的区别:
var a = [, , , ];
var a1 = new Array(3);
0 in a 返回true;
0 in a1 返回false;
其中字面量创建的数组有元素都是underfined;
但是构造函数创建的数组,只是有length为3其中没有元素;

delete运算符会删除元素但是不会影响元素的长度;

数组的方法:
1.数组尾部的删除和添加:
push尾部添加元素;返回添加后数组的长度
pop尾部删除元素;返回被删除的元素;
2.ES2015的数组遍历的方法forEach
arr.forEach(function(value,index){ 数组操作 });
3.join()将数组转换成字符串规定特定的连字符,默认用逗号链接;返回字符串
4.reverse()将数组翻转;返回翻转后的数组;改变原数组;
5.sort()数组的元素排序;
一般会传递进去一个function函数;参数是a和b函数返回时:return a - b数组按照小到大排序,return b - a时数组按照大到小排序;一般这个方法可以给对象排序;
6.concat()的方法创建 并返回一个新数组;元素包含调用concat()的原始数组的元素和concat的每个参数,如果参数是数组,则会链接数组的元素,这个只支持以为数组的链接;如 :[1,2,3].concat([444],[5,[6]],[7]); return [1,2,3,444,5,[6],7];
7.slice和splice的方法:slice是返回数组的指定的片段或者子数组;参数分别为开始和结束位置;splice是在数组中插入和删除元素的通用方法,第一个参数是指定插入和删除的起始位置,第二个参数是指定从数组删除的元素的个数,省略参数就是从规定的位置删除到数组结尾,
8.pop和push的方法:push是在数组的尾部添加一个或多个元素,返回数组的长度;pop的方法是 删除数组的最后一个元素,返回删除的值;添加的方法可以传递多个参数
9.shift和unshift的方法,unshift在数组的头部添加元素返回数组的长度,shift是删除数组的第一个元素,返回删除的元素;添加的方法可以传递多个参数;

ES5的数组的方法:
1.forEach(function(index, val, [ thisArr ]){ 操作函数});从头到尾遍历数组,为每个元素指定函数;forEach的方法是遍历数组,在数组的所有的元素遍历之前,是不会停止遍历的,如果要提前停止需要将forEach方法放在一个try-catch中,用来接收错误并抛出 ;这里的fotEach方法只是单纯的遍历数组;
2.map()的方法:将调用数组的每个元素传递给指定的函数,返回一个新的数组,他是该函数的返回值;arr.map(function( val是数组的元素 ){ return 返回数组的元素});该方法会保持原数组的特性,原数组稠密就返回稠密数组,原数组稀疏就会返回稀疏的数组;
3.filter()方法:用来筛选数组的元素,满足条件的返回原数组的一个子集数组;回调函数记得加上return;只会返回稠密的数组;
4.every和some方法是对逻辑的判断:every()方法是所有的数组元素都要满足条件;some是判断数组元素部分满足条件;次函数的返回值是true和false;
5.reduce和reduceRight的方法:是用指定的函数将数组元素进行组合返回一个数据;
6.indexOf和lastIndexOf的方法可以判断元素的位置;
7.Array.isArray(变量):ES5新增的方法判断是否数组;之前一直利用instanceof操作符来判断; 变量 instanceof Array判断是否是数组;但是instanceof操作符只能用于简单的情形;

类数组调用数组的方法:利用Function.call的方法;一般有的浏览器自己就封装了函数的方法可以利用Array.prototype.join.call( 伪数组,‘jion的参数’);

字符串的方法可以通用数组的方法;

相关文章

  • 犀牛书7-数组

    数组是经历过优化的对象,用数字索引来访问数组一般来说要比访问常规的对象属性要快很; 数组的直接量允许有可选的结尾的...

  • 看犀牛书的笔记——数组

    在js中数组就是值的有序集合。每个值叫做一个元素,元素在数组中的位置叫做索引。 JavaScrit数组是无类型的:...

  • 细说JS数组

    此乃犀牛书(第七章 数组)读书笔记,又结合了ES6中数组的扩展部分做的知识梳理。精华部分就是手工绘制的两张数组总结...

  • 7-数组

    数组的基本概念: 数组:一组具有相同数据类型的数据的有序的集合 存储空间:计算机会给数组分配一块连续的存储空间 数...

  • 犀牛书 - 第七章:数组

    创建数组 - 数组中省略的元素被赋予undefined - 数组结尾逗号 - 创建数组:字面量、new Array...

  • java(7-数组)

    声明数组变量double[] myList; // 首选的方法或者double myList[];...

  • Javasctipt 犀牛书 第七章 数组总结

    An array is an ordered collection of data (either primiti...

  • 犀牛书(看书)

    javascript 原始类型 数字 字符串 布尔值 null undefined ...

  • 橙色犀牛计划之寻求帮助

    2017/2/15 橙色犀牛计划之——寻求帮助 橙色犀牛:Sheila McCraith写的一本书《少些吼叫多些...

  • 香豆素衍生物——香豆素标记酶底物解决方案

    经典染料香豆素,用途最广泛的香豆素包括AMCA,7-氨基香豆素(AFC和AMC),7-羟基香豆素和7-甲氧基香豆素...

网友评论

      本文标题:犀牛书7-数组

      本文链接:https://www.haomeiwen.com/subject/tbckuxtx.html