温故而知新之- Javascript 数组类型 (声明数组、类型转换)
声明数组
小白可能会问的问题:什么是数组?
满足你:多个变量值的集合,就可以叫做数组,再附送你一个知识,怎么创建数组呢?
创建数组
我们可以使用对象方式:
new Array('hw91364016', 88, '余人杰'); //['hw91364016', 88, '余人杰']
还有一种字面量创建方式(推荐)
const info = ['余人杰', 'hw91364016'];
上面两种创建的都是一维数组,若你想多维,请看
const array = [['hw91364016', '余人杰'], [91364016]]; console.log('我的名字是:' + array[0][1]); // 我的名字是余人杰
有一个知识点要记一下,当用const声明数组时,我们还可以修改它的值,知道为什么吗?因为数组是引用类型。
const info= ["余人杰", "hw91364016"]; info.push("数组学习"); console.log(info); // ["余人杰", "hw91364016", "数组学习"]
怎么知道数组有多少个元素?使用length属性可以获取。
const info = ["余人杰", "hw91364016", "数组学习"]; console.log(info.length); // 3
使用索引给数组设置值
let info = ['余人杰']; info[1] = 'hw91364016'; console.log(info); // ['余人杰', 'hw91364016']
使用索引设置值时,可以直接给后面位置设置值,跳过的位置的值是undefined,具体如下:
let info = ["余人杰"]; info[2] = "hw91364016"; console.log(info.length); // 3 console.log(info); // ["余人杰", 空, "hw91364016"] console.log(info[1]); // undefined
Array.of()
使用Array.of()也可以创建数组,当设置一个数字参数时,与new Array()不同的是,new Array()会创建一个空数组
let info = Array.of(1); console.log(info); // [1] let info = new Array(1); console.log(info); // [空] info[0]; // undefined
如果我们想知道创建的变量是否为数组,可以使用Array.isArray()进行检测
console.log(Array.isArray(['hw91364016', "余人杰"])); // true console.log(Array.isArray(8)); //false
类型转换
其他类型可以转换为数组类型,也可以将数组类型转换为字符串。
数组转换字符串的方法:
可以使用String()或者toString()进行转换:转换后的结果是以逗号( , )隔开。
console.log(([2, 5, 8]).toString()); // 2,5,8 console.log(String([1, 4, 7]);); // 1,4,7
我们还可以使用 join 函数进行转换,而且还可以指定分隔符连接字符串。
console.log([2020, 8, 9].join("/")); // 2020/8/9
Array.from()
将类数组转换为数组时,可以使用Array.from()函数。何为类数组?
类数组是指可迭代或包含 length 属性的对象。
有三个参数:
1.转换的数据
2.新数组中的每个元素执行的回调函数(类似map函数的回调方法)(可选参数)
3.执行第二个参数回调函数的this对象(可选参数)
let info = '余人杰'; console.log(Array.from(info)); // ["余", "人", "杰"]
给对象设置length属性后,也能将此对象转成数组,但其下标要保证时数值或数值字符串
let info = { '0': '余人杰', 1: 'hw91364016', length: 2 }; console.log(Array.from(info)); // ["余人杰", "hw91364016"]
- 点赞
- 收藏
- 关注作者
评论(0)