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 ...
随机推荐
- Python的各种推导式合集
推导式的套路 之前我们已经学习了最简单的列表推导式和生成器表达式.但是除此之外,其实还有字典推导式.集合推导式等等. 下面是一个以列表推导式为例的推导式详细格式,同样适用于其他推导式. variabl ...
- 基本环境安装: Centos7+Java+Hadoop+Spark+HBase+ES+Azkaban
1. 安装VM14的方法在 人工智能标签中的<跨平台踩的大坑有提到> 2. CentOS分区设置: /boot:1024M,标准分区格式创建. swap:4096M,标准分区格式创建. ...
- MyBatis基础:MyBatis调用存储过程(6)
1. 存储过程准备 CREATE PROCEDURE sp_task ( IN userId INT ) BEGIN SELECT * FROM task WHERE user_id = userId ...
- Python——日志模块(logging)
一.日志说明 日志是跟踪软件运行时所发生的事件的一种方法.软件开发者在代码中调用日志函数,表明发生了特定的事件.事件由描述性消息描述,该描述性消息可以可选地包含可变数据(即,对于事件的每次出现都潜在地 ...
- Python——爬虫——数据提取
一.XML数据提取 (1)定义:XML指可扩展标记语言.标记语言,标签需要我们自行定义 (2)设计宗旨:是传输数据,而非显示数据,具有自我描述性 (3)节点关系: 父:每个元素及属性都有一个父. ...
- [模板] 笛卡尔树 && RMQ
话说我noip之前为什么要学这种东西... 简介 笛卡尔树(Cartesian Tree) 是一种二叉树, 且同时具有以下两种性质: 父亲节点的值大于/小于子节点的值; 中序遍历的结果为原序列. 笛卡 ...
- C++模板、.vimrc和一些Linux配置
C++模板 #include<cstdio> #include<iostream> #include<cmath> #include<cstring> ...
- python中self和cls的区别
1.self表示一个具体的实例本身.如果用了staticmethod,那么就可以无视这个self,将这个方法当成一个普通的函数使用. 2.cls表示这个类本身. >>> class ...
- yii2 redirect重定向
redirect使用方法 $this->redirect(array('/site/contact','id'=>12)); //http://www.kuitao8.com/testwe ...
- springboot2.0整合es的异常总结
异常: availableProcessors is already set to [4], rejecting [4] 在启动类中加入 System.setProperty("es.set ...