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 ...
随机推荐
- PS制作简洁漂亮的立体抽丝文字
一.新建一个800*600px文档,并将Background图层创建一个副本,将其命名为Background_copy. 二.双击Background_copy图层,勾选渐变叠加,并设定以下数值 勾选 ...
- 一、Mysql安装
一.官网下载:https://dev.mysql.com/downloads/mysql/ 二.解压下载好的压缩包,本人存放的位置如下: 如下图解压后的文件目录,因版本的差异.一开始解压后的文件夹下可 ...
- poj3436(拆点最大流)
题意:给你p和n,p代表每台计算器需要几个部分组成,n代表有几个组装机器,接下来n行,每行第一个数代表这台机器能够每小时组装几台,剩下前三个数字表示使用这台机器需要的前置条件(0代表当前组装不能有这个 ...
- 基于maven的spring-boot的pom文件详解
Spring Boot 推荐的基础 POM 文件 名称 说明 spring-boot-starter 核心 POM,包含自动配置支持.日志库和对 YAML 配置文件的支持. spring-boot-s ...
- java querydsl使用
1 POM文件 <?xml version="1.0"?> <project xsi:schemaLocation="http://maven.apa ...
- P2495 [SDOI2011]消耗战 lca倍增+虚树+树形dp
题目:给出n个点的树 q次询问 问切断 k个点(不和1号点联通)的最小代价是多少 思路:树形dp sum[i]表示切断i的子树中需要切断的点的最小代价是多少 mi[i]表示1--i中的最小边权 ...
- Linux-服务器创建swap交换分区
服务器 swap 交换分区制作 作用:‘提升‘ 内存的容量,防止OOM(Out Of Memory) 查看当前的交换分区 # cat /proc/swaps # free -m # swapon -s ...
- 什么是javabean及其用法(转)
因工作需要 需要学习jsp方面的知识 这篇博客文章写得比较全面 我记录下: 一.什么是JavaBean JavaBean是一个遵循特定写法的Java类,它通常具有如下特点: 这个Java类必须具有一个 ...
- Luogu P1654 OSU!
写法和CF235B Let's Play Osu!非常相似.但是这个题厉害就厉害在统计的贡献里面有一个平方的期望,而这个平方的期望和期望的平方是完全不一样的,需要另外统计,逻辑上仔细想一想就会明白. ...
- 《数据库MySQL》
<数据库MySQL> 一.题目要求 下载附件中的world.sql.zip, 参考http://www.cnblogs.com/rocedu/p/6371315.html#SECDB,导入 ...