JS-数组

1 回顾

1.1 条件语句(分支结构)

/*单向分支*/
if (条件表达式) {}/*双向分支*/
if (条件表达式) {} else {}/*多向分支 elseif*/
if (条件表达式) {} else if (条件表达式) {} else if (条件表达式) {} else {}/*多向分支 switch case*/
switch (表达式) {case 表达式可能的值: 语句: break;case 表达式可能的值: 语句: break;case 表达式可能的值: 语句: break;case 表达式可能的值: 语句: break;default: 语句;
}/*分支嵌套*/
if () {if () {}
} else {}

1.2 循环语句(循环结构)

/* while 循环 */
while (条件表达式) {循环体语句...
}/* do while 循环 */
do {循环体语句...
} while (条件表达式);/* for 循环*/
for (循环标记变量初始; 条件表达式; 循环标记变量的变化) {循环体语句;
}

1.3 跳转语句

break;
continute;

2 数组

2.1 什么是数组

  1. 数组是值的有序集合

  2. 每个值叫做一个元素

  3. 每个元素在数组中有一个位置, 以数字表示,称为索引 (有时也称为下标)。

  4. 数组的元素可以是任何类型的数据。

  5. 数组索引从 0 开始, 最大为 2^32-2,数组最大能容纳 4294967294 个元素。

2.2 声明数组的方式

① 直接量方式

[元素1, 元素2,元素3 ...];
var arr1 = [100,2000,'hello',true,null,undefined];console.log(arr1);

② Array 函数方式

Array(元素1, 元素2,元素3 ...);
Array(10);   // 声明一个拥有10个元素的数组

注意: Array 如果只有一个参数,且该参数是 number,该参数会被当做数组的个数

var arr2 = Array(100,2000,'hello',true,null,undefined);console.log(arr2);

③ Array 构造函数方式

new Array(元素1, 元素2,元素3 ...);
new Array(10);   // 声明一个拥有10个元素的数组

注释: new Array() 和 Array() 相关规则完全一致的。

var arr3 = new Array(100,2000,'hello',true,null);console.log(arr3);

数组转为boolean都为true

// 数组转为boolean  都是trueconsole.log(Boolean(arr1));  //trueconsole.log(Boolean([false])); //trueconsole.log(Boolean([]));     //true

2.3 数组元素的读写

// 1. 通过索引读取数组中的元素, 如果读取不存在的元素会得到 undefined
arr[4];
console.log(nameList[4]);   //undefined// 2. 通过索引给数组的元素重新赋值, 如果给不存在的元素赋值会给数组新增一个元素
arr[2] = '芳芳';// 3. length 可以获取数组的长度(数组中元素的个数), length 的值还可以修改(可能导致数组被截取)
arr.length;
console.log(nameList.length);
nameList.length=3;

2.4 稀疏数组

  • 数组要求元素的索引必须是连续的数字。
  • 如果出现有些元素没有值是空的,这样的数组就是稀疏数组
  • 如果读取空的元素的值,会得到 undefined。(注意:空的元素值就是空的,只是读取该元素自动得到 undefined)。
  • 产生稀疏数组的情况:① 使用索引赋值,与前面的索引不连续; ② 修改数组的 length,给了比较大的值; 注意:要尽量避免稀疏数组。
     // 定义数组var nameList = ['小刘','小王','小戴','小汪','小徐','小李']// 输出数组console.log(nameList);console.log(nameList.length);console.log('');// 给元素赋值nameList[6] = '小邢';nameList[12] = '小张';nameList[15] = '小赵';nameList.length = 20;console.log(nameList);// 读取空着的数据console.log(nameList[7]);

2.5 数组的遍历(迭代)

// 使用 for 循环遍历数组   推荐方式
for (var i = 0; i < 数组.length; i ++) {数组[i];  // 读取到数组的每个元素
}// 定义数组 数字var nums = [123,234,456,678,890]// 计算数组中所有元素之和var sum = 0;// 开始遍历for (var i = 0; i < nums.length; i ++) {sum += nums[i];}console.log('所有元素之和为:',sum);console.log('')
// 使用 for in 结构比遍历数组  不推荐
for (var i in 数组) {数组[i];  // 读取到数组的每个元素
}// for in结构,也可以遍历数组 专门针对对象的for (var i in nameList) {console.log(i,nameList[i]);}

2.6 数组元素的添加和删除

① 添加元素

1. 指定下一个索引,给数组添加元素,可以利用 数组.lengtharr[arr.length] = '值';nameList[4] = '小邢'nameList[nameList.length]='小赵';2. 使用 push() 方法在数组的后面追加一个或多个元素arr.push(值);arr.push(值1,值2..,)nameList.push('小张');nameList.push('小史','小马');3. 使用 unshift() 方法在数组的最前面添加一个或多个元素arr.unshift(值);arr.unshift(值1,值2...)nameList.unshift('小周');nameList.unshift ('小吴','小钱');4. 使用 splice() 方法在指定的位置插入一个或多个元素arr.splice(位置, 0, 值);arr.splice(位置, 0, 值1, 值2 ...)nameList.splice(2,0,'小强');

② 删除元素

1. 利用 length 删除数组的后几个元素arr.length -= n;  // 删除后n个元素nameList.length -= 2;2. 使用 pop() 删除数组最后一个元素arr.pop();nameList.pop();3. 使用 shift() 删除数组的第一个元素arr.shift();nameList.shift();4. 使用 splice() 删除指定位置指定数量的元素arr.splice(位置, 要删除的数量)nameList.splice(2,1);nameList.splice(2,3);

2.7 多维数组

[['张奶奶', '柳奶奶', '牛那年'], [100, 200, 300, 400, 500], ['刘姥姥', '马姥姥'],[['a', 'b', 'c', 'd'],['A', 'B', 'C', 'D'],]
];

2.8 字符串的数组特性

字符串与数组有相似的结构,字符串是由字符组成的串,每个字符类似于数组的元素。字符串具备如下数组特性:
1. 字符串具有 length 属性,可以获取字符串长度(字符串中字符的个数)
2. 使用 [] 指定索引可以读取字符串中的某个字符。
3. 使用 for 循环遍历字符串中的每个字符。字符串只是具备部分数组的特性:
1. 字符串无法像数组那样修改其中的某个字符。
2. 字符串的 length 也不能修改。
     // 定义字符串var msg = '芳芳  helloworld';console.log(msg.length);console.log(msg[5]);// 遍历字符串中的每一个字符for (var i = 0;i <msg.length ; i ++) {console.log(msg[i]);}msg[4] = '乐';console.log(msg); //不变

JS-数组-声明方式-读写添加删除-遍历相关推荐

  1. js数组截取方式splice()和slice()方法

    js数组截取方式splice()和slice()方法 1.splice() splice() 方法可以添加元素.删除元素,也可以截取数组片段.删除元素时,将返回被删除的数组片段,因此可以使用 spli ...

  2. js数组往队头添加数据、js数组从队头移出数据

    1.js数组往队尾添加数据可以用数组API Array.prototype.push 可以往数组尾部添加元素 2.js数组往队尾添加数据可以用数组API Array.prototype.pop 可以把 ...

  3. JavaScript数组对象教程–如何使用JS数组方法创建,更新和遍历对象

    On average I work with JSON data 18 times a week. And I still need to google for specific ways to ma ...

  4. 扩展JavaScript数组(Array)添加删除元素方法

    为JavaScript数组(Array)扩展 添加删除元素方法 作者:jcLee95:https://blog.csdn.net/qq_28550263?spm=1001.2101.3001.5343 ...

  5. 可变字典 添加 删除 遍历

    #import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { @autoreleasepool { ...

  6. js 数组去掉括号_如何删除Javascript数组中的方括号?

    我有一个名为value一个数组,当我console.log(value)我得到约30行代码有以下[6.443663, 3.419248]如何删除Javascript数组中的方括号? 的数字变化,因为它 ...

  7. js 中添加php数组元素,JS数组添加元素方法总结

    本篇文章介绍了如何向JS数组中添加新的元素,分别使用不同的几种方法去给JS数组添加元素,数组在JS中是很常用的数据类型之一,而对数组进行操作这是我们必会的基础之一. 下面我们来看一下有哪些方法可以对J ...

  8. js 数组删除指定元素

    js  数组删除指定元素,js 数组并没有提供直接删除某一指定元素的方法,因此需要我们稍作处理 思路:首先找到要删除的元素的位置,然后使用 splice 方法进行删除 示例代码 删除数组 s 中的 ' ...

  9. Go 学习笔记(10)— 数组定义、数组声明、数组初始化、访问数组、数组相等、向函数传递数组

    1. 数组定义 数组是具有相同唯一类型的一组已编号且长度固定的数据项序列,这种类型可以是任意的原始类型例如整形.字符串或者自定义类型. 2. 声明数组 Go 语言数组声明需要指定元素类型及元素个数,语 ...

最新文章

  1. pandas使用replace函数替换dataframe中的值:replace函数使用正则表达式对dataframe中的值进行替换
  2. 2019山东夏令营摸鱼记
  3. 自由自在休闲食品实现奶茶妹的创业梦
  4. 无锁队列设计思路以及简要代码
  5. 细数改善WPF应用程序性能的10大方法
  6. 大话数据结构第一章理解
  7. mysql中外键总结_mysql外键的一些总结
  8. java 线程_理解java多线程
  9. adaptec SCSI卡管理和配置选项
  10. linux中间人攻击工具,[web安全]使用ARPspoof进行中间人(MiTM)攻击
  11. Mnist数据集解析
  12. 微信语音识别_微信 语音识别_微信语音识别api - 云+社区 - 腾讯云
  13. 手机(摩托罗拉、索爱、西门子、LG)大部分机型的cpu型号
  14. 我的感慨——渴望爱与安定 喜欢云淡风轻!
  15. python勾股数_勾股数-随心随性无为而为-51CTO博客
  16. matlab xpc 环境pci板卡驱动编写,XPC环境下PCI板卡驱动
  17. 硕飞编程器 量产烧录 Flash芯片(W25Q16DV)Bin文件流程说明
  18. 浮点数十六进制转换工具
  19. 【全志T113-S3_100ask】6-编写IIC驱动GY-302(twi)
  20. mysql查询第二个字母为a_MSSQL_关于SQL Server查询语句的使用,一.查询第二个字母是t或者a的 - phpStudy...

热门文章

  1. MySQL如何生成idf文件_【IDF2010】释放三大特性 至强7500为MySQL量身定做
  2. pandas 空字符串与na区别_关于python:Pandas用空白/空字符串替换NaN
  3. PHP获取input中的值相同报错,laravel单元测试之phpUnit中old()函数报错解决_php实例...
  4. cisco 通过tftp备份/恢复配置和3560交换机IOS升级
  5. break后面的语句还执行吗_12.python之配合循环的四种语句
  6. mt4软件下载fxcm-mt4平台下载_顺风车软件哪个好用 这三个打车平台一定要下载
  7. Delphi 的信息框相关函数
  8. sql 语句按字段指定值排序及分页
  9. MySQL 的CASE WHEN 语句
  10. Struts2之数据标签(二)