js基础——数组的概念及其方法
数组:
概念:是一种特殊的对象。
与普通对象的区别:a.普通对象使用字符串作为属性名,而数组使用数字作为索引来操作元素;
b.数组的存储性能比普通对象好
数组的标志:[ ]
数组的索引:是从0开始的整数;
数组的长度:arr.length。对于连续的数组,使用length属性可获取数组的长度,而非连续的数组,使用length获得的是数组的最大索引+1
创建数组对象:构建函数法:var arr = new Array() ——当小括号里为一个数时,默认是该数组的长度;
字面量创建数组:var arr = [];
Tip:数组中的元素可以是任意类型,包括对象、函数
数组的方法:
push():向数组的末尾添加一个或多个元素,并返回数组新的长度
可以将要添加的元素作为方法的参数传递,这样这些元素会自动添加到数组末尾
pop(): 删除数组的最后一个元素并且返回被删除的元素
unshift():向数组的开头添加一个或多个元素并返回新的长度
shift() :删除数组第一个元素并将被删除的元素作为返回值
sort():对数组的元素进行排序:arr.sort(function(a,b)){return b-a};
b-a为降序,a-b为升序
revere():倒序,与sort相反
splice():替换、插入、删除;会影响到原数组,将被删除的值返回;
arr.splice(m,n,data1,data2)——从m开始,共n个,替换成data2
slice():截取,不改变原数组;
arr.slice(m,n);m为开始位置,n为结束位置
假如n不写,截取到的则是从m到最后;假如n为-1,则从倒数开始截取
concat():可以连接两个或多个数组,并将新的数组返回,不对原数组造成影响
var result = arr.(arr2,arr3);或者 arr.concat(arr2,"123");
join():将数组连接转成字符串,对原数组无影响
join可以将指定字符串作参数,这个字符串将成为数组元素中的连接符
ES5新增的数组方法:
forEach():遍历数组,需要一个函数作为参数(value,index,object)
数组中有几个元素就会执行几次,每次执行时,浏览器会将遍历到的元素以实参的形式传递进来,我们可以定义形参来读取内容
map():遍历当前数组,然后调用参数中的方法,返回当前方法的返回值
filter():同map()一样,但是返回值为布尔值true时,才返回数据,过滤筛选,组成新的数组返回
every():遍历数组,函数对每一项都返回true才返回true
some():其中一项返回true,则true(返回true后不在循环)
indexOf():返回指定value的索引位置
lastIndexOf():从后往前找,但索引值不变
reduce():迭代,收敛;返回值是最后一次函数调用时的返回值,不写true时,默认返回underfined
reduceRight():与reduce相反
整理所学,如果错误,还望指出。
js基础——数组的概念及其方法的更多相关文章
- JS基础——数组总结
JS中数组被觉得是一种对象,慢慢的,怎么忽然感觉,JS中仅仅要能够独立出来的概念怎么都能够当成对象来解释呢?有点儿怀疑.继续学吧.先来总结一下JS中数组是怎样详细使用的. 一.创建 数组的创建在JS中 ...
- 【Javascript】JS遍历数组的三种方法:map、forEach、filter
前言 近一段时间,因为项目原因,会经常在前端对数组进行遍历.处理,JS自带的遍历方法有很多种,往往不加留意,就可能导致知识混乱的现象,并且其中还存在一些坑.前端时间在ediary中总结了js原生自带的 ...
- js删除数组中元素的方法
一.清空数组 var ary = [1,2,3,4]; ary.splice(0,ary.length);//清空数组 console.log(ary); // 输出 [],空数组,即被清空了 二.删 ...
- js基础-数组及数据类型
数组也是引用类型 构造函数创建数组 Object 构造函数类型(所有类型基类) Array 构造函数类型 求幂运算符 ** 2**32-1 数组容量最大 arry.length 如果减小len ...
- JS基础语法---Array对象的方法
Array对象的方法 Array.isArray(对象)---->判断这个对象是不是数组 instanceof关键字 判断对象是不是数组类型:两种方法: //1 instanceof var ...
- js基础---数组方法
数组数据的排序及去重 sort无形参的排序方式 arr1=[2,12,3,15]; var a=arr1.sort();console.log(arr1);console.log(a);//排序会改变 ...
- JS合并数组的几种方法及优劣比较
本文属于JavaScript的基础技能. 我们将学习结合/合并两个JS数组的各种常用方法,并比较各种方法的优缺点. 我们先来看看具体的场景: var q = [ 5, 5, 1, 9, 9, 6, 4 ...
- js中数组遍历常用的方法
常见的数组遍历方法,比如 for in,for of, forEach,map,filter,every,some,find,reduce等 1,普通for循环,经常用的数组遍历 var arr = ...
- JS中数组和字符串的方法大全
数组的方法很多,ECMScript5又提供了好几种方法.有空把之前的云上的笔记整理了一下,方便自己以后查找使用. 一.ECMScript 3的Array.prototype中定义的方法 1.join( ...
随机推荐
- codeforces425C
http://codeforces.com/contest/425/problem/C 题意:两数列a[],b[],进行若干轮操作,每次操作花费e, 将a的一个前缀和b的一个前缀(两前缀的最后一个数字 ...
- 【模板】分治FFT
蒟蒻写题解实在不易 前置 方法一:\(Cdq+NTT\) 方法二:多项式求逆 NTT总结:多项式求逆总结 方法一 \(Cdq+NTT\): \[f_i=\sum\limits_{j=1}^i f_{i ...
- Spring框架中不同类型的事件
ContextRefreshedEvent,ApplicationContext初始化或者被更新是会触发,ConfigurableApplicationContext接口中的refresh()方法被调 ...
- 粒子群优化算法及其java实现
憋了两周终于把开题报告憋出来了,再一次证明自己不适合搞学术,哎--,花了点时间把报告中提到的粒子群算法看了看,看了些资料,用java跑起来. 算法简介 粒子群算法最先由Barnhart博士和Kenne ...
- SQL优化 | 避免全表扫描
1. 对返回的行无任何限定条件,即没有where 子句 2. 未对数据表与任何索引主列相对应的行限定条件 例如:在City-State-Zip列创建了三列复合索引,那么仅对State列限定条件不能使用 ...
- python __new__
1.__new__的作用是什么? 依照Python官方文档的说法,__new__方法主要是当你继承一些不可变的class时(比如int, str, tuple), 提供给你一个自定义这些类的实例化过程 ...
- java udp通信
package net.kkxm.kms; import java.net.DatagramPacket; import java.net.DatagramSocket; import java.n ...
- 阶段5 3.微服务项目【学成在线】_day09 课程预览 Eureka Feign_14-课程预览功能开发-CMS添加页面接口
5.3 CMS添加页面接口 cms服务对外提供添加页面接口,实现:如果不存在页面则添加,否则就更新页面信息. 此接口由课程管理服务在课程预览时调用. 接口方法.:页面没有就添加.有了更新数据 之前的接 ...
- NULL和nullptr
NULL就是0 nullptr是空指针[c++11]
- (十二)会话跟踪技术之servlet通信(forward和include)
一.servlet通信方法 二.具体应用 scopeServlet.java protected void doPost(HttpServletRequest request, HttpServlet ...