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()函数声明 ...
随机推荐
- Unity塔防游戏开发
Unity3D塔防开发流程 配置环境及场景搭建编程语言:C#,略懂些许设计模式,如果不了解设计模式,BUG More开发工具:Unity3D编辑器.Visual Studio编译器开发建议:了解Uni ...
- mysql安装简单教程(自动安装/配置安装)
mysql安装简单教程(自动安装/配置安装) 1.1前言: 由于特殊原因,在最近2-3个月里mysql真是安装了无数遍,每次安装都要上网找教程,每个教程基本都不一样,因此还是自己写下来比较好,毕竟自己 ...
- 【转】vscode: Visual Studio Code 常用快捷键
原文链接:https://www.cnblogs.com/bindong/p/6045957.html vscode: Visual Studio Code 常用快捷键 主命令框 F1 或 Ctrl+ ...
- 为什么win记事本编辑的shell在linux中运行会报错
结论:win记事本使用的格式有别于linux,二者不可混用.linux使用一个叫vi的编辑器. 解决办法:使用vi命令建立文件,在其中敲shell.命令:vi > filename (敲完 ...
- eclipse 常用插件 整理
开发过程中的常用Eclipse插件,按字母排序: (1) AmaterasUML 介绍:Eclipse的UML插件,支持UML活动图,class图,sequence图,usecas ...
- HDU 1754 线段树 单点跟新 HDU 1166 敌兵布阵 线段树 区间求和
I Hate It Time Limit: 9000/3000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total ...
- 最好用的MongoDB GUI - LivingMongo
LivingMongo是一个mongodb数据库的GUI操作系统,支持对数据字段的修改.数据搜索.集合的分类.索引管理.空间统计.慢查询等 demo地址 : http://living-mongo.k ...
- Mysql的管理及使用
第1章 Mysql的管理 1.1 连接管理mysql mysql[options] #Linux或UNIX shell提示符(终端窗口) mysql --help #查看帮助信息 mysql --ve ...
- Sagit.Framework For IOS 开发框架入门教程3:Start引导页及框架布局和隐藏事件的内幕
前言: 框架依旧在快速更新着:在重构.简化代码,统一标准的过程中. 中间也遇到各种坑,不过好在一步一脚印的解决了. 虽然还有些功能还在思考,不过教程,还是得补上: 上篇文章:Sagit.Framewo ...
- SAML2.0 协议初识(一)
一.什么是 SAML 协议? SAML 即安全断言标记语言,英文全称是 Security Assertion Markup Language.它是一个基于 XML 的标准,用于在不同的安全域(secu ...