数组是在程序设计中,为了处理方便, 把具有相同类型的若干元素按有序的形式组织起来的一种形式。我们可以把数组看成是用于储存多个相同类型数据的集合,我们在需要用到数组中的一部分数据时,就需要用到数组解构,获得相应的数据。本文我们就一起来学习Java数组解构的相关知识。
1.简单解构
const numbers = ['a', 'b', 'c'];
// 获取前两项
const [n1, n2] = numbers;
console.log(n1,n2)// 'a' , 'b'
// 获取第一项和第三项
const [n1, , n3] = numbers;
console.log(n1,n3)// 'a' , 'c'
// 获取第一项和第四项
const [n1, , n3, n4] = numbers;
console.log(n1,n3,n4)// 'a' , 'c', undefined
// 给默认值
const [n1, , n3, n4 = 'd'] = numbers;
console.log(n1,n3,n4)// 'a' , 'c', 'd'
2.嵌套数组解构
// 得到numbers中下标为4的数组中的下标为2的数据,放到变量n中
const [, , , , [, , n]] = numbers;
console.log(n); // 3
嵌套对象解构
赋给同名变量
const numbers = ['a', 'b', 'c', 'd', {
a: 1,
b: 2
}];
// 得到numbers中下标为4的数组的属性a,赋值给变量a
const [, , , , { a }] = numbers
console.log(a); // 1
赋给不同名变量
const numbers = ['a', 'b', 'c', 'd', {
a: 1,
b: 2
}];
// 得到numbers中下标为4的数组的属性a,赋值给变量A
const [, , , , { a: A }] = numbers
console.log(A); // 1
3.解构剩余项
const user = {
name: 'lisa',
age: 20,
sex: '女',
address: {
province: '江苏',
city: '无锡'
}
}
// 解构出name,然后剩余的所有属性,放到一个新的对象中,变量名为obj
// 最后得出
// name:lisa
// obj:{ age: 20,sex: '女', address: {···}}
const { name, ...obj } = user;
console.log(name, obj);
解构数组的剩余项
const numbers = [1, 2, 3, 4];
// 得到数组前两项,前两项放到变量a和b中,然后剩余的所有数据放到数组nums中
const [a, b, ...nums] = numbers;
console.log(a, b, nums); // 1, 2, [3, 4]
我们再来看下面的例子:
const article = {
title: "文章标题",
content: "文章内容",
comments: [{
content: "评论1",
user: {
id: 1,
name: "用户名1"
}
}, {
content: "评论2",
user: {
id: 2,
name: "用户名2"
}
}]
}
//解构出第二条评论的用户名和评论内容
// name:"用户名2" content:"评论2"
const { comments: [, { content, user: { name } }] } = article;
以上就是Java数组解构的相关知识,当然这些只是大概的讲解,想要更加详细的讲解过程可以观看本站的Java基础教程,帮你全面学习和巩固Java基础知识。
你适合学Java吗?4大专业测评方法
代码逻辑 吸收能力 技术学习能力 综合素质
先测评确定适合在学习