学习js权威指南第五站 ---- 数组

1.数组方法

  ①join()

    将数组中的左右元素都转换成字符串并连接在一起,返回最后生成的字符串。

  ②reverse() 改变原数组

    将数组中的元素颠倒顺序,返回逆序的数组。在原先的数组中重新排列。

  ③sort() 改变原数组

    将数组中的元素排序并返回排序后的数组,当不带参数调用时,数组元素以字母表顺序排序。可以用以下代码将排序按照数值排序:

    var arr6_5 = [33,2,4,111];
    console.log(arr6_5.sort(function(a,b){return a-b}))  //输出: [2,4,33,111]

  ④concat() 不改变原数组

    创建并返回一个新数组,它的元素包括调用concat()的原始数组的元素和concat()的每一个参数。

  ⑤slice() 不改变原数组

    返回指定数组的一个片段或子数组。两个参数分别指定了片段的开始和结束的位置。(包含开始位置但不包含结束位置)。若只有一个参数则从该位置到末尾。负数代表从末尾处开始数。

  ⑥splice() 改变原数组

    在数组中插入或删除元素的通用方法。前两个参数指定了需要删除的数组,紧随其后的任意个数的参数指定了需要插入到数组中的元素。

  arr6_5_2 = [2, 4, 33, 111, 99, 66];
   arr6_5_2.splice(2,0,"a","b","c");  //从下标为2的开始删除0位并插入"a","b","c"  console.log(arr6_5_2);  //=>[2, 4, "a", "b", "c", 33, 111, 99, 66]

  ⑦push()和pop() 改变原数组

    push()方法在数组的尾部添加一个或多个元素,并返回数组的新长度。pop()在数组的尾部删除元素。

  ⑧unshift()和shift() 改变原数组

    unshift()方法在数组的头部添加一个或多个元素,并返回数组的新长度。shift()在数组的头部删除元素。

  ⑨toString()和toLocalString()

2.ES5中的数组方法

  ①forEach()

    循环遍历数组,可以配合es6的箭头函数使用。没有break语句,若想要提前终止,必须把forEach()方法放在一个try块中,并能抛出一个异常。

  ②map()

    将调用的数组的每一个元素传递给指定的函数,并返回一个数组,它包含该函数的返回值。

  arr6_5_2 = [2, 4, 33, 111, 99, 66];
  var arr6_5_3 = arr6_5_2.map(function(x) {return 2*x});  //将数组内每个值*2
  console.log(arr6_5_3);  //=>[4, 8, 66, 222, 198, 132]

  ③filter()

    返回调用的数组的一个子集。参数为函数,相当于一个过滤条件。

  ④every()和some()

    是数组的逻辑判定:它们对数组元素应用指定的函数进行判定,返回true或false。

  ⑤reduce()和reduceRight()

    使用指定的函数将数组元素进行组合,生成一个单个值。

  ⑥indexOf()和lastIndexOf()

    搜索整个数组中具有给定值的元素,返回找到的第一个元素的索引或者如果没有找到就返回-1。

3.isArray

  在es5中可以使用array.isArray()函数来判定它是否为数组。使用了Object.prototype.toString.call()方法。

4.类数组对象

  是对象,有length属性并且是非负整数不超过2^32。可以间接的使用call方法调用数组方法。

  Array.prototype.join.call(arr,‘+‘);......

原文地址:https://www.cnblogs.com/zhongxy/p/9139056.html

时间: 2024-10-03 08:13:22

学习js权威指南第五站 ---- 数组的相关文章

《JS权威指南学习总结--开始简介》

本书共分成了四大部分: 1.JS语言核心 2.客户端JS 3.JS核心参考 4.客户端JS核心参考 其中 <JS权威指南学习总结--1.1语法核心> 是:第一部分JS语言核心 各章节重点 简介 <JS权威指南学习总结--1.2客户端JS> 是:第二部分客户端JS 各章节重点 简介

【vue.js权威指南】读书笔记(第一章)

最近在读新书<vue.js权威指南>,一边读,一边把笔记整理下来,方便自己以后温故知新,也希望能把自己的读书心得分享给大家. [第1章:遇见vue.js] vue.js是什么? vue.js不是一个框架-它只聚焦视图层,是一个用来构建数据驱动的Web界面的库.Vue.js通过简单的API来提供高校的数据绑定和灵活的组件系统 vue.js的特性 轻量级:体积非常小,而且不依赖其他基础库 数据绑定:对于一些富交互,状态机类似的前端UI界面,数据绑定非常简单,方便 指令:类似与AJ,可以使用v-*的

Vue.js权威指南

内容简介 Vue.js 是一个用来开发Web 界面的前端库.<Vue.js权威指南>致力于普及国内Vue.js 技术体系,让更多喜欢前端的人员了解和学习Vue.js.如果你对Vue.js 基础知识感兴趣,如果你对源码解析感兴趣,如果你对Vue.js 2.0感兴趣,如果你对主流打包工具感兴趣,如果你对如何实践感兴趣,<Vue.js权威指南>都是一本不容错过的以示例代码为引导.知识涵盖全面的最佳选择.<Vue.js权威指南>一共30 章,由浅入深地讲解了Vue.js 基本语

《JS权威指南学习总结--8.8 函数式编程和8.8.1使用函数处理数组》

内容要点:    和Lisp.Haskell不同,JS并非函数式编程语言,但在JS中可以像操控对象一样操控函数,   也就是说可以在JS中应用函数式编程技术.ES5中的数组方法(诸如map()和reduce())就可以非常适用于函数式编程风格. 一.使用函数处理数组    假设有一个数组,数组元素都是数字,我们想要计算这些元素的平均值和标准差.    若用非函数式编程风格的话,代码是这样:         var data = [1,1,3,5,5]; //这里是待处理的数组        //

《JS权威指南学习总结--7.10 数组类型》

内容要点: 一.数组类型 判断它是否为数组通常非常有用.在ES5中,可以使用Array.isArray()函数来做这件事情: Array.isArray([]); //=>true Array.isArray({}); //=>false 二.类数组对象 JS数组的有一些特性是其他对象所没有的: 1.当有新的元素添加到列表中时,自动更新length属性. 2.设置length为一个较小值将截断数组. 3.从Array.prototype中继承一些有用的方法. 4.其类属性为"Arra

《JS权威指南学习总结--第7章 数组》

内容要点: 一. JS数组是无类型的:数组元素可以是任意对象,并且同一个数组中的不同元素也可能有不同的类型.数组的元素甚至也可能是对象或其他属性,这允许创建复制的数据结构,如对象的数组和数组的数组. JS数组是动态的:根据需要它们会增长或缩减,并且在创建数组时无须声明一个固定的大小或者在数组大小变化时无须重新分配空间. JS数组可能是稀疏的:数组元素的索引不一定要连续的,它们之间可以有空隙.每个JS数组都有一个length属性.针对非稀疏数组,该属性就是数组元素的个数.针对稀疏数组,length

《JS权威指南学习总结--8.7 函数属性、方法和构造函数》

内容要点:   在JS程序中,函数是值.对函数执行typeof运算会返回字符串 "function",但是函数是JS中特殊的对象.因为函数也是对象,它们也可以拥有属性和方法,就像普通的对象可以拥有属性和方法一样.甚至可以用Function()构造函数来创建新的函数对象. 一.length属性     在函数体内,arguments.length表示传入函数的实参的个数.    而函数本身的length属性则有着不同含义.函数length属性是只读属性,它代表函数实参的数量,这里的参数指

JS权威指南读书笔记(五)

第十三章 Web浏览器中的JavaScript 1 在Html文档中嵌入客户端4种JS代码方法 a 内联方式,放置在<script>标签之间 b 放置在<script>标签 src 属性指定的外部文件中 c 放置在HTML事件处理程序中 d 放置在URL中,"javascript:" 协议 2 在XHTML中,script标签中内容将被当做其他内容,如果JS代码包含了"<" 或 "&"字符,那么这些字符将被解

js权威指南---学习笔记02

1.JS只有函数作用域,没有块级作用域这个概念: 它有一个特性——声明提前:在同一个函数中不同位置声明的变量,都被提前在函数开始的时候,执行声明操作:在原先位置执行赋值操作: 2.声明的全局变量,相当于定义了全局对象的一个属性: 1)如果使用var声明全局变量,这个属性是不可配置的.也就是无法delete 2)如果不使用var声明,则可以进行delete: 例子: var s1 = "s1";  //不可配置的全局变量 s2 = "s2";   //可配置的全局变量