“ const [,xxx]”是什么意思?

时间:2019-12-14 14:27:30

标签: javascript dictionary vue.js nuxt

我正在学习如何使用Nuxt构建生成静态博客,并且遇到了下面的代码以创建包含帖子列表的页面:

<script>
  export default {
    async asyncData() {
      const resolve = require.context("~/content/", true, /\.md$/)
      const imports = resolve.keys().map((key) => {
        const [, name] = key.match(/\/(.+)\.md$/);
        return resolve(key);
      });
      return {
        posts: imports
      }
    },
  }
</script>

我了解它的作用:获取所有markdown文件的列表并将其键映射到文件名,但我不了解const [, name]的含义,实际上不了解数组内的逗号的含义。 有人可以给我解释一下吗?

谢谢。

诺亚

2 个答案:

答案 0 :(得分:1)

它叫array destructuring

在您的情况下,const [, name] = key.match(/\/(.+)\.md$/);const name = key.match(/\/(.+)\.md$/)[1]相同

答案 1 :(得分:0)

这意味着从key.match返回的数组中获取第二个值,并将其分配给变量name

const [a, b] = [123, 456];
console.log('a:', a, 'b:', b);   // a = 123, b = 456

const [, d] = [111, 222];
console.log('d:', d);            // d = 222