8、javascript数组
8、数组
1.数组的概念
数组(Array)是指一组数据的集合,将一组数据的集合存储在单个变量下,其中的每个数据被称作元素,数组中可以存放任意类型的元素。
2.创建数组
JS 两种创建数组方式:
(1)利用 new 创建数组
var 数组名 = new Array() ;
var arr = new Array(); // 创建一个新的空数组
(2)利用数组字面量创建数组
//1. 创建空的数组
var 数组名 = [];
//2. 创建带初始值的数组
var 数组名 = ['小白','小黑','大黄','瑞奇'];
数组的字面量是方括号 [ ]
数组初始化:声明数组并赋
数组中可以存放任意类型的数据,例如字符串,数字,布尔值等。
var arrStus = ['小白',12,true,28.9];
3.获取数组中的元素
索引 (下标) :用来访问数组元素的序号(数组下标从 0 开始)
数组可以通过索引来访问、设置、修改对应的数组元素
通过“数组名[索引]”的形式来获取数组中的元素
// 定义数组
var arrStus = [1,2,3];
// 获取数组中的第2个元素
alert(arrStus[1]);
注意:如果访问时数组没有和索引值对应的元素,则得到的值是undefined
4.遍历数组
把数组中的每个元素从头到尾都访问一次(类似学生的点名),可以通过 for 循环索引遍历数组中的每一项
var arr = ['red','green', 'blue'];// 索引号从 0 开始,因此 i 也从 0 开始
for(var i = 0; i < arr.length; i++){// i 计数器当索引号来用console.log(arrStus[i]);
}
5.数组的长度
数组的长度:默认情况下表示数组中元素的个数
使用“数组名.length”可以访问数组元素的数量(数组长度)。
var arrStus = [1,2,3];
alert(arrStus.length); // 3
注意:
- 数组长度动态监测数组元素的个数,与索引号无关
- 数组元素个数发生变化,length 属性跟着一起变化
- 数组的length属性可以被修改
- 如果设置的length属性值大于数组的元素个数,则会在数组末尾出现空白元素
- 如果设置的length属性值小于数组的元素个数,则会把超过该值的数组元素删除
// 数组案例
// 1.求数组 [2,6,1,7, 4] 里面所有元素的和以及平均值var arr3 = [2, 6, 1, 7, 4];var num = 0;var average = 0;for (var i = 0; i < arr3.length; i++) {num += arr3[i]; // 加的是数组元素,而不是计数器}average = num / arr3.length;console.log(num, average); // 输出多个变量用逗号隔开即可
// 2.求数组[2,6,1,77,52,25,7]中的最大值var arr4 = [2, 6, 1, 77, 52, 25, 7];var max = arr4[0];for (var i = 1; i < arr4.length; i++) {if (arr4[i] > max) {max = arr4[i];}}console.log('该数组里面的最大值是:' + max);
// 3.将数组 ['red', 'green', 'blue', 'pink'] 转换为字符串,并且用 | 或其他符号分割var arr5 = ['red', 'green', 'blue', 'pink'];var num2 = '';var sep = '|';for (var i = 0; i < arr5.length; i++) {num2 += arr5[i] + sep;}console.log(num2);
6.数组中新增元素
(1)改变length长度
数组[ 数组.length ] = 新数据;
var arr6 = [1, 2, 3, 4];console.log(arr6.length);arr6.length = 6;// 这里将数组长度修改为了6console.log(arr6);
(2)修改索引号,追加数组元素
var arr7 = ['red', 'green', 'blue'];arr7[3] = 'yellow'; // 新增数组arr7[0] = 'yellow'; // 替换数组console.log(arr7);arr7 = '直接给数组赋值,里面之前存的数组元素会被替代';console.log(arr7);
7.筛选数组
// 将数组 [2, 0, 6, 1, 77, 0, 52, 0, 25, 7] 中大于等于 10 的元素选出来,放入新数组var arr9 = [2, 0, 6, 1, 77, 0, 52, 0, 25, 7];var newArr = [];// newArr.length可以自动检测数组长度,刚开始newArr.length是0for (var i = 0; i < arr9.length; i++) {if (arr9[i] >= 10) {newArr[newArr.length] = arr9[i];}}console.log(newArr);
8.数组去重
// 将数组[2, 0, 6, 1, 77, 0, 52, 0, 25, 7]中的 0 去掉后,形成一个不包含 0 的新数组var arr10 = [2, 0, 6, 1, 77, 0, 52, 0, 25, 7];var newArr1 = [];for (var i = 0; i < arr10.length; i++) {if (arr10[i] !== 0) {newArr1[newArr1.length] = arr10[i];}}console.log(newArr1);
7.翻转数组
// 将数组 ['red', 'green', 'blue', 'pink', 'purple'] 的内容反过来存放var arr11 = ['red', 'green', 'blue', 'pink', 'purple'];var newArr2 = [];for (var i = arr11.length - 1; i >= 0; i--) {newArr2[newArr2.length] = arr11[i];}console.log(newArr2);
8.数组排序(冒泡排序)
//数组排序(冒泡排序):依次比较两个元素,如果顺序错误就交换过来var arr12 = [4, 1, 2, 3, 5];for (var i = 0; i < arr12.length - 1; i++) { // 外层循环管趟数for (var j = 0; j < arr12.length - i - 1; j++) { // 里层循环管每一趟的次数if (arr12[j] > arr12[j + 1]) {var temp = arr12[j];arr12[j] = arr12[j + 1];arr12[j + 1] = temp;}}}console.log(arr12);
8、javascript数组相关推荐
- [JavaScript] JavaScript数组挖掘,不只是讲数组哟(2)
课程来源:后盾人 上一篇的内容:[JavaScript] JavaScript数组挖掘,不只是讲数组哟 数组引用类型分析,多维数组,用Array.of为数组创建细节,类型检测与转换,在一个数组后面加一 ...
- 这是如何更好地利用JavaScript数组的方法
by pacdiv 由pacdiv 这是如何更好地利用JavaScript数组的方法 (Here's how you can make better use of JavaScript arrays) ...
- Javascript 数组
Javascript 数组 Javascript中的Array可以包含任意数据类型,并通过索引来访问每个元素. 要取得Array的长度,直接访问length属性: var arr = [1, 2, 3 ...
- JavaScript 数组拼接打印_JavaScript 数组方法
JavaScript 数组方法 JS 数组 JS 数组排序 JavaScript 数组的力量隐藏在数组方法中. 把数组转换为字符串 JavaScript 方法 toString() 把数组转换为数组值 ...
- 如何将JavaScript数组信息导出到csv(在客户端)?
本文翻译自:How to export JavaScript array info to csv (on client side)? I know there are lot of questions ...
- 从JavaScript数组中获取随机项[重复]
本文翻译自:Get random item from JavaScript array [duplicate] This question already has answers here : 这个问 ...
- 创建零填充JavaScript数组的最有效方法?
在JavaScript中创建任意长度的零填充数组的最有效方法是什么? #1楼 使用对象符号 var x = []; 零填充? 喜欢... var x = [0,0,0,0,0,0]; 充满" ...
- 判断javascript数组的方法
2019独角兽企业重金招聘Python工程师标准>>> 判断javascript数组的方法 var is_array=function(){ return value &&a ...
- 深入浅出 JavaScript 数组 v0.5
有一段时间不更新博客了,今天分享给大家的是一篇关于JS数组的,数组其实比较简单,但是用法非常灵活,在工作学习中应该多学,多用,这样才能领会数组的真谛. 以下知识主要参考<JS 精粹>和&l ...
- Javascript数组操作(转)
1.数组的创建 var arrayObj = new Array(); //创建一个数组 var arrayObj = new Array([size]); //创建一个数组并指定长度,注意不是上限, ...
最新文章
- python No tests were found问题解决方法
- 使用python对比两个目录下的文件名差异
- 基于Spring+SpringMVC+Mybatis的分布式敏捷开发系统架构
- 7、Power Map—实例:添加二维数据表以及批注
- php5.5 反序列化利用工具_%00截断配合反序列化的奇妙利用
- 嵌入式笔录(4)-LC并联电路选频和AM解调
- 项目管理工具之maven
- final 最终 java 1614876717
- 为USB网卡(水星MW150US)编译树莓派上的驱动
- Linux思维导图之inode、mv、cp和硬软链接
- Python项目实践:天天向上的力量
- 面试题 02.04. 分割链表
- 扩展:js控制台输出,除了 console.log还有哪些?
- Android存储--SharedPreferences
- live2dmesh渲染优先级_如何渲染Live2D模型
- 【爆肝帝,花费3个月整理】金九银十面试季,2020-2021字节跳动所有,软件测试面试题拿走不谢!(附详细答案解析)
- 电脑能正常上网上网,某些软件不能上网
- 让Vim打造成强大的IDE,附_vimrc的配置和使用
- 人工智能ai用什么编程语言_2020年人工智能的5种最佳编程语言
- 《Python程序设计与算法基础教程(第二版)》江红 余青松 全部章节的课后习题,上机实践,课后答案,案例研究
热门文章
- docker安装xware 实现迅雷远程下载
- php thrift 编译,Thrift 源码编译
- 安装Rhythmbox mp3插件
- 论文阅读:Improved Denoising Diffusion Probabilistic Models
- Python学习笔记 第四天
- 裸设备和Oracle问答20例
- 计算机网络与互联网的区别,计算机网络与互联网的主要区别是什么?
- 《西部世界》第三季开播,机器人会比人类更有人性吗?
- linux图片裁剪软件安卓版,PS图片裁剪软件下载-PS图片裁剪助手appv1.0.1-Linux公社...
- cd/etc 文件目录浅解