这报错什么 意思,这样写不对吗
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<script>
const arr = ["a",["b","c",["d"],[undefined,"g",["x"],["y"]]],"h",["l"]];
/*补充代码*/
console.log(const[,[,,[,],][,,[x=1]]]=arr;
</script>
</body>
</html>
正在回答
同学你好,理解的是可以的,总得来说,就是不匹配g,需要把g的位置空出来,也就是在下方箭头处添加一个逗号。
祝学习愉快~
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<script>
const arr = ["a",["b","c",["d"],[undefined,"g",["x"],["y"]]],"h",["l"]];
/*补充代码*/
[,[,,[],][undefined=1,[x=2]]]=arr;
console.log(undefined,x);
</script>
</body>
</html>
这样是对的吗,我的输出是undefined和2
同学你好,在老师第一次回答中已经说明了,const不能在console.log()输出中使用
需要放在外面。
代码中其他问题:
1、["d"]这里只要一项,里面不需要添加逗号,需要放在外面
2、匹配到undefined并赋值默认值,是设置变量去匹配undefined,给变量赋值,而不是给undefined赋值哦,也就是undefined不能作为变量使用
3、undefined与["x"]中间还有一项,需要添加逗号
参考修改:
const [, [, , [], [aa = 1, , [x]] ]] = arr console.log(aa, x);
祝学习愉快!
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<script>
const arr = ["a",["b","c",["d"],[undefined,"g",["x"],["y"]]],"h",["l"]];
/*补充代码*/
console.log(const[,[,,[,][undefined=1,[x=2]]]]=arr);
</script>
</body>
</html>
这样写应该没问题了啊,为什么还是报错const没有定义,不是说需要哪个元素就取到哪个元素后面的可以不写了吗
同学你好,问题解答如下:
1.报错的意思是“const是无效的语法”。这是因为把一条语句放在了console.log()中,语法不对。
2.console.log()缺少了结束的小括号
3.数组解构赋值时,等号左侧的数组与arr数组结构不一样。
综上所述,代码如下修改:
细心对比一下上面数组的结构如何写,可以教给同学一个小技巧,把数组arr复制一个,然后需要解构赋值的元素,其他的都删掉,只留逗号。例如如下,老师把前面没有用的都删掉,我们需要的是第一个'x’,后面的元素也都删掉,这里老师只是展示了如何去删元素,所以后面的还没有删掉。删掉之后,把'x’换成x=1即可:
祝学习愉快~
- 参与学习 人
- 提交作业 239 份
- 解答问题 10739 个
本阶段带你深入前端开发的肌理,通过ES6基础知识和前端主流高级框架的学习,助你快速构建企业级移动webAPP应用,进入职场的终极battle
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星