Array数组小方法总结
如果各位在阅读的时候,有任何问题,都可以留言:
// push()方法会向数据末尾添加数据,并返回添加数据后的数组的长度
var arr=[1,2,3]
console.log(arr.push(4),arr)//4 [ 1, 2, 3, 4 ]
//unshift()方法会向数据起始位置添加数据,并返回添加数据后的数组的长度
var un=[1,2,3]
console.log(un.unshift(4),un)//4 [ 4, 1, 2, 3 ]
// pop()方法删除数组的最后一个元素,并返回删除的元素
var poparr=[1,2,23,454]
console.log(poparr.pop(),poparr)//454 [ 1, 2, 23 ]
// shift()方法删除数组的第一个元素,并返回删除的元素
var sh=[23,434,54]
console.log(sh.shift(),sh)//23 [ 434, 54 ]
// slice()方法截取数组,截取的值不会在数组消失
//注意下标从0开始,截取的极值不包括开始(2),包括结尾(4)
var lice=[1,2,3,4,5,6]
console.log(lice.slice(2,4))//[ 3, 4 ]
// splice()方法截取数组,截取的值会在原数组消失
var plice=[1,2,3,4,5,6]
console.log(plice.splice(2,4),plice)//[ 3, 4, 5, 6 ] [ 1, 2 ]
//reduce()方法对数组的元素进行运算
var red=[1,23,45]
console.log(red.reduce((a,b)=>a+b))//69
console.log(red.reduce((a,b)=>a*b))//1035
// reverse()方法会颠倒数组元素的顺序
var rev=[1,3,4]
console.log(rev.reverse())//[4,3,1]
//concat()方法合并两个数组
var con1=[1,3,5,6]
var con2=[23,535,65]
console.log(con1.concat(con2))
//map()方法,依次向函数中传入数组的数据,并把每次的返回结果组成一个新的数组,
//elem当前的数据,index,当前数据的下标,arr,数组本身。
var arr=[1, 2, 3].map(function(elem, index, arr) {
console.log(elem,index,arr)
//1 0 [ 1, 2, 3 ]
//2 1 [ 1, 2, 3 ]
//3 2 [ 1, 2, 3 ]
return elem * index;
});
console.log(arr)//[ 0, 2, 6 ]
//lastIndexOf()方法,已知一个值,拿到在数组对应的下标
var arr=[23,24,2,53]
console.log(arr.lastIndexOf(2))
// sort()默认情况下sort方法是按ascii字母顺序排序的
var sor=[2,4,6,3,1,3]
console.log(sor.sort())//[ 1, 2, 3, 3, 4, 6 ]
var daoxu=[32,4,76,54,7]
console.log(daoxu.sort())//[ 76, 7, 54, 4, 32 ]
//封装数组排序函数
//包装有参函数,a,b;a-b正序,a+b倒序
function sortby(a,b){
return a+b;
}
var a=[1,4,5,3,2,8]
console.log(a.sort(sortby))//[ 8, 2, 3, 5, 4, 1 ]
// 数组的indexOf
var index=[1,24,56,7,8]
console.log(index.indexOf(1))//0 所要检查元素在数组的位置
console.log(index.indexOf(56))//2
console.log(index.indexOf(10))//-1 所检查的元素如果不在数组范围里,则返回-1
// join()方法,把数组的所有元素放入一个字符串,,也可以以自定义字符分割
var arr=[123,4,546]
console.log(typeof(arr.join()),arr.join())//string//123,4,546
console.log(arr.join("|"))//123|4|546
//toString()把数组转换为字符串,并返回结果。
var toStr=[12,334,543,43]
console.log(toStr.toString(),typeof(toStr.toString()))
// toLocaleString()把数组转换为本地数组,并返回结果。
var tolo=[2,43,54,43,3]
console.log(typeof(tolo.toLocaleString()))
// valueOf()返回数组的原始值
var val=[123,23,3,5]
console.log(val.valueOf(3))
// instanceof 用于判断一个变量是否某个对象的实例,
// obj(检测的对象) instanceof cons(构造函数)
// instanceof 运算符用来检测 cons.prototype 是否存在于参数 obj 的原型链上。
var ins=[1,23,5,4]
console.log(ins instanceof Object)//true //Array也是Object的子类
function c(){}
function d(){}
var o=new c()
console.log(o instanceof c)//true
console.log(o instanceof d)//false
// isArray()方法用于判断一个对象是否为数组
console.log(Array.isArray([]))//true
console.log(Array.isArray([1]))//true
console.log(Array.isArray(true))//fasle
Array数组小方法总结的更多相关文章
- Array数组的方法总结
1.检测数组 自从ECMAScript3作出规定后,就出现了确定某个对象是不是数组的经典问题.对于一个网页,或者一个全局作用域而言,使用instanceof操作符就能得到满意结果. if (value ...
- js中Array数组基本方法
总结:push() 添加元素到数组未尾, 返回数组长度 unshift() 添加元素到数组头部, 返回数组长度 pop() 删除数组未尾元素, 返回删除元素 shift() 删除数组头部元素, 返回删 ...
- Array(数组)--map方法
关于Array.prototype.map() MDN 给的定义是: 在作用数组元素的每一项上调用一个方法(callback),返回一个新数组: 使用格式:arr.map(callback[,this ...
- JavaScript中Array数组的方法
查找: indexOf.lastIndexOf 迭代:every.filter.forEach.map.somereduce.reduceRight 用法: /* 1 查找方法: * arr.inde ...
- Array数组对象方法
Array 对象方法 方法 描述 concat() 连接两个或更多的数组,并返回结果. copyWithin() 从数组的指定位置拷贝元素到数组的另一个指定位置中. entries() 返回数组的可迭 ...
- js清空array数组的方法
方式1,splice Js代码 ,,,}; ary.length = ; Java中会报错,编译通不过. 而JS中则可以,且将数组清空了,如 Js代码 var ary = [1,2,3,4]; ...
- for 循环 和 Array 数组对象
博客地址:https://ainyi.com/12 for 循环 和 Array 数组对象方法 for for-in for-of forEach效率比较 - 四种循环,遍历长度为 1000000 的 ...
- JS中Array数组的三大属性用法
原文:JS中Array数组的三大属性用法 Array数组主要有3大属性,它们分别是length属性.prototype属性和constructor属性. JS操作Array数组的方法及属性 本文总结了 ...
- JavaScript的json和Array及Array数组的使用方法
1.关于json JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.它基于ECMAScript的一个子集.也可以称为数据集和数组类似,能够存数据! //Ar ...
随机推荐
- 03-JavaScript之数据类型
JavaScript之数据类型 1.介绍 JavaScript数据类型分为两类:原始类型(primitive type)和对象类型(object type) 2.原始类型 数字 - number.字符 ...
- docker(二) windows10下安装docker
官方安装文档: https://docs.docker.com/docker-for-windows/install/ https://docs.docker.com/docker-for-windo ...
- Axis2创建WebService服务端接口+SoupUI以及Client端demo测试调用
第一步:引入axis2相关jar包,如果是pom项目,直接在pom文件中引入依赖就好 <dependency> <groupId>org.apache.axis2</gr ...
- Spring MVC 使用介绍(六)—— 注解式控制器(二):请求映射与参数绑定
一.概述 注解式控制器支持: 请求的映射和限定 参数的自动绑定 参数的注解绑定 二.请求的映射和限定 http请求信息包含六部分信息: ①请求方法: ②URL: ③协议及版本: ④请求头信息(包括Co ...
- Go语言协程
协程的特点 1.该任务的业务代码主动要求切换,即主动让出执行权限 2.发生了IO,导致执行阻塞(使用channel让协程阻塞) 与线程本质的不同 C#.java中我们执行多个线程,是通过时间片切换来进 ...
- java9最新发布
链接:http://pan.baidu.com/s/1slbRFa9 密码:hcdj 给大家分享可以去下载 已接受的特性 1. Jigsaw 项目:模块化JDK源码 Jigsaw项目即JEP201是为 ...
- java extends和implements区别
一.作用说明 extends 是继承某个类, 继承之后可以使用父类的方法, 也可以重写父类的方法; implements 是实现多个接口, 接口的方法一般为空的, 必须重写才能使用 二.补充 JAVA ...
- cogs2479 偏序(CDQ套CDQ)
题目链接 思路 四维偏序 \(CDQ\)套\(CDQ\),第一维默认有序.第二维用第一个\(CDQ\)变成有序的.并且对每个点标记上第一维属于左边还是右边.第二个\(CDQ\)处理第三维,注意两个\( ...
- Codeforces 1037C Equalize
原题 题目大意: 给你两个长度都为\(n\)的的\(01\)串\(a,b\),现在你可以对\(a\)串进行如下两种操作: 1.交换位置\(i\)和位置\(j\),代价为\(|i-j|\) 2.反转位置 ...
- 洛谷P1108 低价购买题解
看到"你必须用低于你上次购买它的价格购买它",有没有想到什么?没错,又是LIS,倒过来的LIS,所以我们只要把读入的序列倒过来就可以求LIS了,第一问解决. 首先要厘清的是,对于这 ...