JS中数组的方法
1. join()
Array.join() 是 String.split() 的逆向操作 var arr = [1, 2, 3]
arr.join()// "1,2,3"
arr.join("")// "123"
arr.join(" ")// "1 2 3"
arr.join('-')// "1-2-3"
arr.join('_')// "1_2_3"
arr.join('a')// "1a2a3" var arr1 = [1, 2, 3, {a:1,b:2,c:3}]
arr1.join('__') // "1__2__3__[object Object]"
var arr2 = [1, 2, 3, [1,2,3]]
arr2.join('__')// "1__2__3__1,2,3"
2. reverse()
数组元素全部倒过来
3.sort()
排序 var arr = [1,3,11,24];arr.sort() // [1, 11, 24, 3]
arr.sort((a, b) => a-b) // [1, 3, 11, 24] var arr1 = ['b', 'as', 'c', 'z', 'f'];
arr1.sort() // ["as", "b", "c", "f", "z"] var arr2 = ['b', 'as', 'c', [1,2,3] ,'z', 'f']
arr2.sort() // [[1,2,3], "as", "b", "c", "f", "z"]
4. concat()
返回一个新的数组(不修改原数组)
var arr = [1, 2, 3];
arr.concat(4, 5) // [1,2,3,4,5]
arr.concat([4, 5]) // [1,2,3,4,5]
arr.concat([1,2,3], [4, 5]) // [1, 2, 3, 1, 2, 3, 4, 5]
arr.concat([1,[2],3], [4, 5]) //[1, 2, 3, 1, [2], 3, 4, 5]
5. slice(start, end)
返回数组片段 (不修改原数组) start, end 均是开区间
var arr = [1, 5, 6, 7, 3];
arr.slice(0) // [1, 5, 6, 7, 3]
arr.slice(1, 2) // [5]
arr.slice(1, 3) // [5, 6]
6. splice()
插入或者删除 (修改数组本身)
var arr = [1, 5, 6, 7, 3];
arr.splice(1) // [5, 6, 7, 3] var arr1 = [1, 5, 6, 7, 3];
arr1.splice(2) // [6, 7, 3] var arr2 = [1, 5, 6, 7, 3];
arr2.splice(1,2) // [5, 6] var arr3 = [1, 5, 6, 7, 3];
arr3.splice(2,0, 'a') arr3 //[1, 5, "a", 6, 7, 3]
7. 把数组当栈使用
push() 尾部添加
unshift() 头部添加
pop() 尾部删除
shift() 头部删除
8 遍历
for...in... (这货他么可以用来遍历 对象{a: 1, b: 2} 中的键值对)...
var obj = {a: 1, b:2}
for(var x in obj) {
console.log(x)
console.log(obj[x])
}
// a
// 1
// b
// 2
map()
forEach()
判断是数组还是对象
var o = {};
try {
o.map(i => i) && 'o is arr'}
catch(err) {
'o is: obj';
}
9. filter()
var arr = [1, 5, 6, 7, 3]; arr.filter((item) => item <= 5 ); // [1, 5, 3]
10.
every() // 针对所有元素
some() // 存在某个元素
11. reduce() // 从左到右索引
reduceRight() // 从右到左
var arr = [1,2,2,3,4,54]; // 求和
arr.reduce((x, y) => x + y) // 66 // 找出最大值
arr.reduce((x, y) => x > y ? x : y) // 54
12. 搜索整个数组中具有给定值的元素
indexOf() // 从左到右索引
lastIndexOf()
用来给数组去重
function uniq(arr) {
var _arr = [];
arr.map(item => _arr.indexOf(item) === -1 && _arr.push(item))
return _arr;
}
var array = [1,2,2,3,1,1,5,2,10, '10'];
uniq(array);
原文地址:https://mp.weixin.qq.com/s/qedx5LWXfNeT5aachyBjkA
JS中数组的方法的更多相关文章
- JavaScript -- 时光流逝(二):js中数组的方法
JavaScript -- 知识点回顾篇(二):js中数组的方法 1. 数组 (1)定义数组,数组赋值 <script type="text/javascript"> ...
- js中数组去重方法及性能对比
js中数组的 数组去重 常用的数组去重方法以及效率分析: 首先我们先构建一个数组,主要是用于进行去重实验,我们主要实验的量级为1000,10000,100000,500000.具体的生成数组的方法如下 ...
- js中数组去重的几种方法
js中数组去重的几种方法 1.遍历数组,一一比较,比较到相同的就删除后面的 function unique(arr){ ...
- JS中split使用方法和数组中元素的删除
JS中split使用方法和数组中元素的删除 JS中split使用方法 <script language="javascript"> function spli(){ d ...
- js中数组方法大全
js数组方法大全 一:前言 我们在学到js中数组的时候,我们会接触到js中数组的一些方法,这些方法对我们来说,可以很遍历的达到我们想要的结果,但是因为方法比较多,有些方法也不常用,可能会过一段时间就会 ...
- 秒味课堂Angular js笔记------Angular js中的工具方法
Angular js中的工具方法 angular.isArray angular.isDate angular.isDefined angular.isUndefined angular.isFunc ...
- JS实现数组去重方法大总结
js数组根据对象中的元素去重: var arr2 = [ { name: "name1", num: "1" }, { name: "name2&qu ...
- jQuery与JS中的map()方法使用
1.jquery中的map()方法 首先看一个简单的实例: $("p").append( $("input").map(function(){ return $ ...
- php和js中数组的总结
php中数组的表示方法:array()或者[] js中数组的表示方法:new array()或者[] 一.php中初始化命名数组 在PHP中声明数组的方式主要有两种:一是应用array()函数声明 ...
随机推荐
- 2723:不吉利日期-poj
2723:不吉利日期 总时间限制: 1000ms 内存限制: 65536kB 描述 在国外,每月的13号和每周的星期5都是不吉利的.特别是当13号那天恰好是星期5时,更不吉利.已知某年的一月一日是 ...
- HBase表预分区与压缩
1.建立HBase预分区表.sql语句如下: create 'buyer_calllogs_info_ts', 'record', {SPLITS_FILE => 'hbase_calllogs ...
- 小程序采坑系列-this.setData
今天踩了大坑,坑里还都是碎瓶渣子.. 先说一下基本使用.官网也有. 比如说你在main.js里面有这些变量.想修改某些值. data: { main_view_bgcolor: "" ...
- 理解OC“属性”这一概念
1.定义一个属性,编译器会自动编写相关的存取方法和实例变量,如果不想使用系统默认的实例变量,可以使用@synthesize(合成)语法来指实例变量的名字,如果不想编译器自动合成存取方法,则可以自己实现 ...
- IntelliJ IDEA(一) :安装
前言 我是从eclipse转IDEA的,对于习惯了eclipse快捷键的我来说,转IDEA开始很不习惯,IDEA快捷键多,组合多,记不住,虽然可以设置使用eclipse的快捷键,但是总感觉怪怪的.开始 ...
- P1197 [JSOI2008]星球大战
题目描述 很久以前,在一个遥远的星系,一个黑暗的帝国靠着它的超级武器统治者整个星系.某一天,凭着一个偶然的机遇,一支反抗军摧毁了帝国的超级武器,并攻下了星系中几乎所有的星球.这些星球通过特殊的以太隧道 ...
- QTP日期格式化
'以下函数将日期参数进行格式转化,例如:2017-01-02 Function ShortDateToLongDate(strChangeDate) b=split(strChangeDate, ...
- Wannafly挑战赛3 record
B 遇见 时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 65536K,其他语言131072K64bit IO Format: %lld题目描述A和B在同一条路上,他们之间的距离为 k ...
- 玩了几天的ARToolKit
因为玩的不深,就说一说配置环境出错的解决. 假如大家网上下载的ARToolKit下面有glut32.dll,那按照教程来配置环境的时候(其中有一步是:将OpenGL的dll拷贝到windows sys ...
- ActiveMQ基本详解与总结
MQ简介: MQ全称为Message Queue, 消息队列(MQ)是一种应用程序对应用程序的通信方法.应用程序通过写和检索出入列队的针对应用程序的数据(消息)来通信,而无需专用连接来链接它们.消息传 ...