全部学科
Python全栈
python
NodeJS全栈
nodejs
小程序首页

JS对象与数组专题测试

20 题 40 分钟 难度:

考察知识点

  • 对象字面量:对象创建语法、属性名与属性值、点语法与方括号语法、计算属性名
  • 数组字面量:数组创建语法、元素类型多样性、数组索引从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": "张三" }

A

B

2
判断题

访问对象的属性时,如果属性名包含特殊字符或空格,必须使用方括号语法。

A

B

3
判断题

JavaScript 数组可以包含不同类型的元素,如 [1, "hello", true, null, {a:1}]

A

B

4
判断题

数组的 length 属性总是等于数组中实际元素的个数。

A

B

5
判断题

for...in 遍历数组的索引(键),for...of 遍历数组的元素(值)。

A

B

6
单选题

以下哪种方式可以创建一个包含 name 属性的对象?

A

let obj = [name: "张三"];

B

let obj = {name: "张三"};

C

let obj = (name: "张三");

D

let obj = <name: "张三">;

7
单选题

以下哪种方式可以创建一个包含三个元素的数组?

A

let arr = (1, 2, 3);

B

let arr = {1, 2, 3};

C

let arr = [1, 2, 3];

D

let arr = <1, 2, 3>;

8
单选题

数组 let arr = ["a", "b", "c"]; 中,访问第二个元素 "b" 应该使用?

A

arr[1]

B

arr[2]

C

arr["b"]

D

arr.b

9
单选题

以下代码输出结果是什么?

JavaScript
let key = "name";
let obj = {[key]: "张三"};
console.log(obj.name);
A

undefined

B

"张三"

C

"[key]"

D

报错

10
单选题

以下代码输出结果是什么?

JavaScript
let arr = [1, 2, 3];
arr.forEach((item, index) => {
    console.log(index + ":" + item);
});
A

0:1, 1:2, 2:3

B

1:1, 2:2, 3:3

C

1:0, 2:1, 3:2

D

undefined

11
单选题

以下代码执行后,a 和 b 的值分别是?

JavaScript
let [a, b] = [1, 2, 3];
A

a=1, b=2

B

a=1, b=[2, 3]

C

a=[1, 2], b=3

D

a=1, b=undefined

12
单选题

以下代码执行后,name 和 age 的值分别是?

JavaScript
let {name, age} = {name: "张三", age: 20, city: "北京"};
A

name="张三", age=20

B

name="张三", age={age: 20, city: "北京"}

C

name=undefined, age=undefined

D

name={name: "张三"}, age={age: 20}

13
单选题

以下代码输出结果是什么?

JavaScript
let arr = [1, 2, 3, 4];
let sum = arr.reduce((acc, cur) => acc + cur, 0);
console.log(sum);
A

[1, 2, 3, 4]

B

10

C

0

D

4

14
多选题

关于数组遍历方法,以下说法正确的是?

A

forEach 不改变原数组

B

map 返回新数组,不改变原数组

C

filter 返回满足条件的元素组成的新数组

D

for...of 可以遍历数组,也可以用 break 跳出

15
多选题

关于解构赋值,以下说法正确的是?

A

数组解构按位置顺序匹配

B

对象解构按属性名匹配

C

解构时可以设置默认值

D

解构可以用于函数参数

16
多选题

以下哪些数组方法会修改原数组?

A

push

B

pop

C

map

D

splice

17
多选题

以下哪些方法可以用于遍历对象?

A

Object.keys(obj)

B

Object.values(obj)

C

Object.entries(obj)

D

for...in

18
填空题

对象字面量使用 ______ 创建,属性以 ______ 形式表示,键和值之间用 ______ 分隔,多个属性之间用 ______ 分隔。

19
填空题

数组索引从 ______ 开始,最后一个元素的索引是 ______________。访问不存在的索引返回 _________。length 属性表示 ___________,可以修改它来 ________

20
填空题

数组解构使用 ______,按 ______ 匹配。对象解构使用 ______,按 ______ 匹配。解构不匹配时变量值为 _________,可以设置 ______ 避免。

← 上一个试卷 JS安全与边界处理专题测试
下一个试卷 → JS异步编程入门专题测试

📝 发现内容有误?点击此处直接编辑

想参加完整模拟考试?
小程序提供计时考试、自动评分和详细解析

长按或扫描二维码,立即体验

扫码体验小程序
马上就来
使用微信扫描二维码
立即体验完整题库