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& ...
随机推荐
- vue引入d3
单页面使用 cnpm install d3 --save-dev 指定版本安装 cnpm install d3@6.3.1 -S <script> import * as d3 from ...
- redis入门到精通系列(九):redis哨兵模式详解
(一)哨兵概述 前面我们讲了redis的主从复制,为了实现高可用,会选择一台服务器作为master,多台服务器作为slave.现在有这样一种情况,master宕机了,这时系统会选择一台slave作为m ...
- proxysql+MHA+半同步复制
先配置成主从同步 先在各节点安装服务 [root@inotify ~]# yum install mariadb-server -y 编辑主节点的配置文件,并启动 [root@centos7 ~]# ...
- 【Linux】【Services】【DNS】使用Bind搭建DNS服务
1. 简介 1.1. 实现的功能:DNS解析以及智能转发 1.2. 官方文档: 1.3. 基础概念:http://www.cnblogs.com/demonzk/p/6494968.html 2. 环 ...
- Linux 三剑客之sed
目录 Linux 三剑客之sed 命令补充: sort命令 uniq命令 cut命令 tr命令 wc命令 三剑客 - sed 编辑模式: 定位分类: 实例如下: d模式--删除模式 p模式--打印 a ...
- Linux中磁盘管理与三剑客之awk初识
昨日内容回顾 1.用两种方法实现 将文件中以 # 开头的行 把 # 去掉 sed -r 's/^ *#//g' /etc/fstab cat /etc/fstab | tr -d '^#' 2.将文件 ...
- Python sys模块 os模块、OS.open() | open() | OS._exit() | sys.exit() | exit()
sys模块:负责程序和Python交互. sys常用方法:=========================== sys.stdout.write('please:')val = sys.stdin ...
- Python软件目录结构
目录组织方式 关于如何组织一个较好的Python工程目录结构,已经有一些得到了共识的目录结构.在Stackoverflow的这个问题上,能看到大家对Python目录结构的讨论. 这里面说的已经很好了, ...
- TCP超时、ping不丢包排查
现象就是:1. 每隔一段时间,问题服务器的公网地址不可访问,目前只开放了8080和22,这两个端口不可访问的时间是一致的,不可访问时间约在2分钟以内2. 已经建立的连接在不可访问期间不受影响,开的几个 ...
- myeclipse 给类与方法添加注解模板方法
myeclipse 给类与方法添加注解模板方法 步骤1:点击myeclipse 界面的[Window]菜单 步骤2:点击下拉菜单的[Preferences]选项 步骤3:展开左边菜单的[java]选项 ...