JS对象与数组专题测试
考察知识点
- 对象字面量:对象创建语法、属性名与属性值、点语法与方括号语法、计算属性名
- 数组字面量:数组创建语法、元素类型多样性、数组索引从0开始、length属性
- 属性访问与修改:点语法访问、方括号语法访问、动态属性名、属性添加与删除
- 数组索引与长度:索引范围、length属性含义、稀疏数组、超出索引返回undefined
- 数组遍历方法:forEach遍历、map映射、filter过滤、for...of与for...in区别
- 数组常用方法:push/pop/shift/unshift、splice与slice、map/filter返回新数组
- 对象遍历方法:Object.keys/values/entries、for...in遍历属性名
- 解构赋值:数组解构按顺序、对象解构按属性名、默认值设置
💡 参考答案在文末
判断题
1
对象字面量中的属性名可以使用字符串形式,如 { "name": "张三" }。
2
访问对象的属性时,如果属性名包含特殊字符或空格,必须使用方括号语法。
3
JavaScript 数组可以包含不同类型的元素,如 [1, "hello", true, null, {a:1}]。
4
数组的 length 属性总是等于数组中实际元素的个数。
5
for...in 遍历数组的索引(键),for...of 遍历数组的元素(值)。
单选题
6
以下哪种方式可以创建一个包含 name 属性的对象?
7
以下哪种方式可以创建一个包含三个元素的数组?
8
数组 let arr = ["a", "b", "c"]; 中,访问第二个元素 "b" 应该使用?
9
以下代码输出结果是什么?
JavaScript
let key = "name";
let obj = {[key]: "张三"};
console.log(obj.name);
10
以下代码输出结果是什么?
JavaScript
let arr = [1, 2, 3];
arr.forEach((item, index) => {
console.log(index + ":" + item);
});
11
以下代码执行后,a 和 b 的值分别是?
JavaScript
let [a, b] = [1, 2, 3];
12
以下代码执行后,name 和 age 的值分别是?
JavaScript
let {name, age} = {name: "张三", age: 20, city: "北京"};
13
以下代码输出结果是什么?
JavaScript
let arr = [1, 2, 3, 4];
let sum = arr.reduce((acc, cur) => acc + cur, 0);
console.log(sum);
多选题
14
关于数组遍历方法,以下说法正确的是?
15
关于解构赋值,以下说法正确的是?
16
以下哪些数组方法会修改原数组?
17
以下哪些方法可以用于遍历对象?
填空题
18
对象字面量使用 ____________ 创建,属性以 ____________ 形式表示,键和值之间用 ____________ 分隔,多个属性之间用 逗号 分隔。
19
数组索引从 ____________ 开始,最后一个元素的索引是 ____________。访问不存在的索引返回 ____________。length 属性表示 最大索引加1,可以修改它来 截断数组。
20
数组解构使用 ____________,按 ____________ 匹配。对象解构使用 ____________,按 属性名 匹配。解构不匹配时变量值为 undefined,可以设置 默认值 避免。
参考答案
1.正确
2.正确
3.正确
4.错误
5.正确
6.B
7.C
8.A
9.B
10.A
11.A
12.A
13.B
14.A;B;C;D
15.A;B;C;D
16.A;B;D
17.A;B;C;D
18.花括号;键值对;冒号
19.0;arr.length - 1;undefined
20.[];顺序;{}
想在手机上练习这套试卷?
使用微信卷王开发者小程序,打开首页顶部扫码功能识别二维码