JS 数组的基本使用和案例
知识点汇总: 数组:就是一组数据的集合,存储在单个变量的方式
自变量创建数组
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 数组的基本使用和案例的更多相关文章
- javascript数组&省市联动分别用js数组和JSON实现
1.定义数组的三种方式: **数组可以存放不同的数据类型 第一种: var arr=[1,2,3]; var arr=[1,"2",true]; 第二种: 使用内置对象 ...
- js数组去重,id相同对某值相加合并
js数组去重,id相同对某值相加合并 案例1: 假设需要处理的数组结构. let arr =[ {id:'1', value:10}, {id:'1', value:20}, {id:'2', val ...
- 小兔JS教程(四)-- 彻底攻略JS数组
在开始本章之前,先给出上一节的答案,参考答案地址: http://www.xiaotublog.com/demo.html?path=homework/03/index2 1.JS数组的三大特性 在J ...
- js数组学习整理
原文地址:js数组学习整理 常用的js数组操作方法及原理 1.声明数组的方式 var colors = new Array();//空的数组 var colors = new Array(3); // ...
- bootstrap中popover.js(弹出框)使用总结+案例
bootstrap中popover.js(弹出框)使用总结+案例 *转载请注明出处: 作者:willingtolove: http://www.cnblogs.com/willingtolove/p/ ...
- 转→js数组遍历 千万不要使用for...in...
看到一篇内容还不错,但是排版实在糟糕, 逼死强迫症患者啊,直接拉下去找原文连接,找到了,但是已经消失了···500错误... 第一次因为实在看不下去一篇博客的排版, 为了排版而转载... 转载地址:h ...
- js数组操作大全
原文(http://www.cnblogs.com/webhotel/archive/2010/12/21/1912732.html) 用 js有很久了,但都没有深究过js的数组形式.偶尔用用也就是简 ...
- js数组去重的4种方法
js数组去重,老生长谈,今天对其进行一番归纳,总结出来4种方法 贴入代码前 ,先对浏览器Array对象进行支持indexOf和forEach的polyfill Array.prototype.inde ...
- js 数组处理函数
本文转载自有有<js 数组处理函数> concat 将参数列表连接到原数组后面形成一个新的数组并返回,原有数组不受影响. var arr = ["a","b& ...
随机推荐
- 3.1 go context代码示例
context.WithCancel返回两个有关联的对象,ctx与cancel,调用cancel发送一个空struct给ctx,ctx一旦接收到该对象后,就终止goroutine的执行;ctx是线程安 ...
- 【Java 8】Optional 使用
一.前言 如果要给 Java 所有异常弄个榜单,我会选择将 NullPointerException 放在榜首.这个异常潜伏在代码中,就像个遥控炸弹,不知道什么时候这个按钮会被突然按下(传入 null ...
- ActiveMQ(二)——ActiveMQ的安装和基本使用
一:安装 2.启动之后成功 二.创建实例测试ActiveMQ 配置Maven所需的依赖 <dependency> <groupId>org.apache.activemq< ...
- 【Spark】【RDD】从HDFS创建RDD
1.在HDFS根目录下创建目录(姓名学号) hdfs dfs -mkdir /zwj25 hdfs dfs -ls / 访问 http://[IP]:50070 2.上传本地文件到HDFS hdfs ...
- java中注释、关键字、标识符,数据类型(上)
一.java中的注释(有3种) 注释:是给写代码的人看的,注释不会被执行 单行注释:用符号"//"实现 多行注释:用"/* */ " 实现 javaDoc(文档 ...
- Python用pandas获取Excel数据
import pandas as pd df1 = pd.DataFrame(pd.read_excel(r'C:\python测试文件\我的三国啊.xlsx',sheet_name='Sheet1' ...
- Python openpyxl的使用
import openpyxl from openpyxl.styles import Font, colors, Alignment wb = openpyxl.load_workbook('C:\ ...
- Wireshark(四):网络性能排查之TCP重传与重复ACK
原文出处: EMC中文支持论坛 作为网络管理员,很多时间必然会耗费在修复慢速服务器和其他终端.但用户感到网络运行缓慢并不意味着就是网络问题. 解决网络性能问题,首先从TCP错误恢复功能(TCP重传与重 ...
- [BUUCTF]PWN——hitcontraining_uaf
[BUUCTF]--hitcontraining_uaf 附件 步骤: 例行检查,32位,开启了nx保护 试运行一下程序,非常常见的创建堆块的菜单 32位ida载入分析,shift+f12查看程序里的 ...
- 静态日志框架Extensioner.Logging
静态日志框架,输出文本文件,基于log4net扩展,轻量,方便,无侵入! 使用方法 执行Install-Package Extensioner.Logging -Version 2.0.0导入Nuge ...