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& ...
随机推荐
- redis入门到精通系列(六):redis的事务详解
(一)事务的概念 谈到数据库的高级应用,不可避免会谈到事务.熟悉mysql的朋友们对事务肯定不陌生,简单来讲事务就是控制一个数据库操作序列要么全部执行要么全部不执行.今天我们就来了解redis中的事务 ...
- @RestController和@Controller的区别与作用
在springMvc中controller层类上的要使用@Controller来注明该类属于控制层,在controller层常返回的数据形式有以下几种: 页面:静态页面 ModelAndView:返回 ...
- markDodn使用技巧
markdown 标题 一级标题书写语法: 井符(#)加上空格加上标题名称 二级标题书写语法: 两个井符(#)加上空格加上标题名称 三级标题书写语法: 三个井符(#)加上空格加上标题名称 字体 字体加 ...
- Mysql资料 锁机制
目录 一.简介 二.类型 三.操作 四.死锁 第一种情况 第二种情况 第三种情况 一.简介 数据库和操作系统一样,是一个多用户使用的共享资源.当多个用户并发地存取数据 时,在数据库中就会产生多个事务同 ...
- centos源码部署lua-5.3
目录 一.介绍 二.部署 三.测试 一.介绍 Luat语言是在1993年由巴西一个大学研究小组发明,其设计目标是作为嵌入式程序移植到其他应用程序,它是由C语言实现的,虽然简单小巧但是功能强大. 二.部 ...
- 其他(Excel函数集团)
此处文章均为本妖原创,供下载.学习.探讨! 文章下载源是Office365国内版1Driver,如有链接问题请联系我. 请勿用于商业!谢谢 下载地址:https://officecommunity-m ...
- MemoryCache 如何清除全部缓存?
最近有个需求需要定时清理服务器上所有的缓存.本来以为很简单的调用一下 MemoryCache.Clear 方法就完事了.谁知道 MemoryCache 类以及 IMemoryCache 扩展方法都没有 ...
- LuoguB2013 温度表达转化 题解
Content 输入华氏温度 \(F\),请将其转化为摄氏温度 \(C\),精确到小数点后 \(5\) 位. 数据范围:\(F\geqslant -459.67\). Solution 简单的输入输出 ...
- react中使用Input表单双向绑定方法
input react 表单 input 密码框在谷歌浏览器下 会有黄色填充 官网的不太用,这个比较好用 type="password" autoComplete="ne ...
- 页面图片懒加载、延迟加载(lazyload)
文档:http://www.h-ui.net/lib/jQuery.lazyload.js.shtml github地址:https://github.com/jieyou/lazyload Lazy ...