知识点汇总:

数组:就是一组数据的集合,存储在单个变量的方式
自变量创建数组
var 数组名字 = ['a','b'] // []里面的是数据的元素,可为任意字符类型
利用new创建数组
var 数组名字= new Array(); //创建一个空数组 取用数组元素,可以利用器数组下标,下标是从第一个元素为第0个下标(索引),依次类推;如下
alert(数组名字[2])
增加数组:数组名字[指定下标]=值
修改数组:数组名字[指定下标]=值
不能直接给数组名赋值,不然将会覆盖数组的数据 数组:就是一组数据的集合,存储在单个变量的方式
自变量创建数组
var 数组名字 = ['a','b'] // []里面的是数据的元素,可为任意字符类型
利用new创建数组
var 数组名字= new Array(); //创建一个空数组 取用数组元素,可以利用器数组下标,下标是从第一个元素为第0个下标(索引),依次类推;如下
alert(数组名字[2])
增加数组:数组名字[指定下标]=值
修改数组:数组名字[指定下标]=值
不能直接给数组名赋值,不然将会覆盖数组的数据
1.增加删除数组元素的方法
(1).push() 在我们数组的末尾 增加一个或者多个数组元素
注意:(1)和(2) 增加数组元素,有一个总共的数组元素的返回值
例如:var arr=[1,2,3]
arr.push(4,'pink')
console.log(arr)
(2).unshift 在数组的开头增加一个或者多个数组元素
arr.shift('red','pink')
console.log(arr) 2.删除数组的元素
(3).pop() 删除数组的最后一个元素
例如:arr.pop()
console.log(arr)
(4).shift删除数组的第一个元素
例如:arr.shift()
console.log(arr)
注意:(3)和(4)也有返回值,返回值是已经被删除元素值 3.数组排序方法
(1).数组排序
var arr=[1,2,3,4,5]
arr.reverse() //反转组数,也就是5,4,3,2,1
(2).数组排序(冒泡排序)
arr.sort() //如果是多位数会出现问题,他的排序是先根据个位数排序把最小的个位数的十位数放在前面
console.log(arr1)
固定的解决此问题的办法格式
arr.sort(function(a,b){
return a-b;// 是显示升序的效果,反转就返回b-a降序效果
}) 1.返回数组的索引方法(只返回第一个满足条件的索引号)
var arr=['red','green','pink','blue']
console.log(arr.indexOf('blue')) //首个blue的索引号
console.log(arr.lastIndexOf('blue')) // 最后一个blue的索引号 4.数组去重,利用indexOf()有就赋值给新的数组,没有indexOf会返回-1的错误代码
过程:取用就数组的中的值用indexOf去遍历,如果返回-1说明,新的数组没有旧数组的值可以追加push
var arr=['red','green','pink','blue','red']
var new_arr=[]
for(var i=0;i<=arr.length-1;i++){
if (new_arr.indexOf(arr[i])==-1){
new_arr.push(arr[i]) }
}
console.log(new_arr) 5.数组转字符串:
(1).toString() 将数组转换为字符串
var arr=[1,2,3]
console.log(arr.tostring()) // 1,2,3
(2).join 将数组转换成为字符串(括号里可以增加间隔字符串的符号,比如-)
console.log(arr.join('-')) 6.将字符串转为数组(赋值只能是一个,或者用数组代替)
var myData = 'Manchester,London,Liverpool,Birmingham,Leeds,Carlisle';
var myArray = myData.split(',');
console.log(myArray); 7.数组中数值操作
splice() 方法通过删除或替换现有元素或者原地添加新的元素来修改数组,并以数组形式返回被修改的内容。此方法会改变原数组
var myFish = ['angel', 'clown', 'drum', 'mandarin', 'sturgeon'];
var removed = myFish.splice(3, 1); //删除从第三个索引删除一个值,也就是mandarin
var removed = myFish.splice(3, 1,'text' ,'pink'); //替换,从第三个索引的值替换一个值、多余在text后面追加,把mandarin替换成text,
var removed= myFish.splice(2) //从第二个元素到结束删除所有 8.concat() 方法用于合并两个或多个数组。此方法不会更改现有数组,而是返回一个新数组。
数组名1.concat(要合并的数组1,数组2); //以数组1为准追加数组2,如果重复追加也是可以的
例如: ( 1). var num1=[1,2,2,11,1],
num2=[1222,"pok",'red'],
mum3=['red','pink','blue']
var abc=num1.concat(num1,num2,mum3) (2). var num1 = [[1]];
var num2 = [2, [3]];
var num3=[5,[6]];
var nums = num1.concat(num2);
console.log(nums);
// results is [[1], 2, [3]]

 

JS 数组的基本使用和案例的更多相关文章

  1. javascript数组&省市联动分别用js数组和JSON实现

    1.定义数组的三种方式: **数组可以存放不同的数据类型   第一种: var arr=[1,2,3];   var arr=[1,"2",true];   第二种: 使用内置对象 ...

  2. js数组去重,id相同对某值相加合并

    js数组去重,id相同对某值相加合并 案例1: 假设需要处理的数组结构. let arr =[ {id:'1', value:10}, {id:'1', value:20}, {id:'2', val ...

  3. 小兔JS教程(四)-- 彻底攻略JS数组

    在开始本章之前,先给出上一节的答案,参考答案地址: http://www.xiaotublog.com/demo.html?path=homework/03/index2 1.JS数组的三大特性 在J ...

  4. js数组学习整理

    原文地址:js数组学习整理 常用的js数组操作方法及原理 1.声明数组的方式 var colors = new Array();//空的数组 var colors = new Array(3); // ...

  5. bootstrap中popover.js(弹出框)使用总结+案例

    bootstrap中popover.js(弹出框)使用总结+案例 *转载请注明出处: 作者:willingtolove: http://www.cnblogs.com/willingtolove/p/ ...

  6. 转→js数组遍历 千万不要使用for...in...

    看到一篇内容还不错,但是排版实在糟糕, 逼死强迫症患者啊,直接拉下去找原文连接,找到了,但是已经消失了···500错误... 第一次因为实在看不下去一篇博客的排版, 为了排版而转载... 转载地址:h ...

  7. js数组操作大全

    原文(http://www.cnblogs.com/webhotel/archive/2010/12/21/1912732.html) 用 js有很久了,但都没有深究过js的数组形式.偶尔用用也就是简 ...

  8. js数组去重的4种方法

    js数组去重,老生长谈,今天对其进行一番归纳,总结出来4种方法 贴入代码前 ,先对浏览器Array对象进行支持indexOf和forEach的polyfill Array.prototype.inde ...

  9. js 数组处理函数

    本文转载自有有<js 数组处理函数> concat 将参数列表连接到原数组后面形成一个新的数组并返回,原有数组不受影响. var arr = ["a","b& ...

随机推荐

  1. linux 加密安全之AWK

    密钥 密钥一般是一串字符串或数字,在加密或者解密时传递给加密或者解密算法,以使算法能够正确对明文加密或密文解密. 加密算法 已知的加密算法有对称和非对称加密,也就是说你想进行加解密操作的时候需要具备密 ...

  2. Synchronized深度解析

    概览: 简介:作用.地位.不控制并发的影响 用法:对象锁和类锁 多线程访问同步方法的7种情况 性质:可重入.不可中断 原理:加解锁原理.可重入原理.可见性原理 缺陷:效率低.不够灵活.无法预判是否成功 ...

  3. Sqlite 常用操作及使用EF连接Sqlite

    Sqlite是一个很轻,很好用的数据库.兼容性很强,由于是一款本地文件数据库,不需要安装任何数据库服务,只需引入第三方开发包就可以.Sqlite的处理速度比MySql和PostgreSQL更快,性能很 ...

  4. 配置文件管理维护到gitlab上

    一.简介 在日常维护服务器中,会修改配置文件或者相应脚本,在修改前要对文件进行按照日期备份,这样会很麻烦,频繁修改的时候也会懒得去备份多个. 维护脚本分为服务端和客户端,服务端监听端口,接收客户端的采 ...

  5. input type="file"多图片上传

    单个的input type="file"表单也是可以实现多图片上传的 代码如下: <form action="manypic.php" method=&q ...

  6. 转:builder模式分析

    建造者模式 11.1 变化是永恒的 又是一个周三,快要下班了,老大突然拉住我,喜滋滋地告诉我:"牛叉公司很满意我们做的模型,又签订了一个合同,把奔驰.宝马的车辆模型都交给我们公司制 作了,不 ...

  7. [源码解析] PyTorch 分布式(18) --- 使用 RPC 的分布式管道并行

    [源码解析] PyTorch 分布式(18) --- 使用 RPC 的分布式管道并行 目录 [源码解析] PyTorch 分布式(18) --- 使用 RPC 的分布式管道并行 0x00 摘要 0x0 ...

  8. word文档打钩记录快捷键

    先按住键盘上的 Alt 键不放,然后在小键盘区(数字键区)输入 9745 ,最后松开 Alt键.

  9. JAVA通过身份证号码获取出生日期、年龄、性别

    JAVA验证身份证号码是否正确:https://www.cnblogs.com/pxblog/p/12038278.html /** * 通过身份证号码获取出生日期(birthday).年龄(age) ...

  10. 分享一下java需要的一些技术

    1.前言 you are 大哥,老衲很佩服你们_.还是一样的,有我联系方式的人,哪些半吊子不知道要学习哪些技术,一天让我整知识点,老衲也有事情做的,哪有那么多时间来一直搞知识点啊,我的博客更新很慢的, ...