Javascript 我可以声明嵌套在对象集合中的值数组而不编写循环吗?

Javascript 我可以声明嵌套在对象集合中的值数组而不编写循环吗?,javascript,arrays,typescript,ecmascript-6,destructuring,Javascript,Arrays,Typescript,Ecmascript 6,Destructuring,也许是一个扩展操作符或是解构? 而不是编写此函数并使用集合调用它来创建数组 function namesArray(group) { let names = []; group.values.forEach( (value) => { names.push(value.name); }); return names; } names: Array<string> = namesAr

也许是一个扩展操作符或是解构? 而不是编写此函数并使用集合调用它来创建数组

function namesArray(group) {
        let names = [];
        group.values.forEach( (value) => {
            names.push(value.name);
        });
        return names;
    }

names: Array<string> = namesArray(group);
函数名称数组(组){
让名称=[];
group.values.forEach((值)=>{
name.push(value.name);
});
返回姓名;
}
名称:数组=名称数组(组);
我想这样做:

names: Array<string> = group.values[....].value.name;
name:Array=group.values[..).value.name;

省略号表示某种运算符。

使用
map
和箭头函数的组合


使用
map
和箭头功能的组合

您正在寻找:

您正在寻找:


“不写循环?”@guest271314从技术上讲,这不是一个循环,OP使用的代码也不是。@4castle OP询问如何使用销毁分配执行该过程。OP已经在使用
Array.prototype.forEach()
。请参阅@4castle-它使用的函数包含一个循环。有一个循环。它就在
.map()
函数中。这个问题基本上是一个不清楚、不好的问题,因为不清楚它们的意思。@guest271314您最好能做的就是
map({name}=>name)
“不写循环?”@guest271314从技术上讲,这不是一个循环,OP使用的代码也不一样。@4castle OP询问如何使用销毁赋值执行该过程。OP已经在使用
Array.prototype.forEach()
。请参阅@4castle-它使用的函数包含一个循环。有一个循环。它就在
.map()
函数中。这个问题基本上是一个不清楚且糟糕的问题,因为不清楚它们的意思。@guest271314最好的方法是
map(({name})=>name)
如果要对数组进行操作,某些函数将在数组上进行迭代。可以是手动编写的代码,也可以是知道如何在数组上迭代的内置函数(
.map()
.forEach()
.reduce()
,等等)。这里没有什么神奇的地方。@jfriend00“不写循环吗?”@guest271314-我的意见是,如果没有某段代码在循环中迭代数组,无论是您的代码还是内置循环的函数,都无法对整个数组进行操作。在任何典型的PC CPU中,数组都不是固有类型,因此要在整个数组上运行,需要在某个地方执行循环。@jfriend00“我的评论是,如果没有一些代码在循环中迭代数组,就无法在整个数组上运行”是的,有可能,请参阅,至少在数组的
.length
已知的地方。@Thomas-如果OP在球上,那么他们会参加讨论,但是一个小时过去了,没有提供任何澄清来确定他们的意思。这不利于堆栈溢出。请注意操作。在发布后的第一个小时内,您应该在这里检查几次,以确保您的问题被清楚地理解。如果您要对数组进行操作,某些函数将在数组上进行迭代。可以是手动编写的代码,也可以是知道如何在数组上迭代的内置函数(
.map()
.forEach()
.reduce()
,等等)。这里没有什么神奇的地方。@jfriend00“不写循环吗?”@guest271314-我的意见是,如果没有某段代码在循环中迭代数组,无论是您的代码还是内置循环的函数,都无法对整个数组进行操作。在任何典型的PC CPU中,数组都不是固有类型,因此要在整个数组上运行,需要在某个地方执行循环。@jfriend00“我的评论是,如果没有一些代码在循环中迭代数组,就无法在整个数组上运行”是的,有可能,请参阅,至少在数组的
.length
已知的地方。@Thomas-如果OP在球上,那么他们会参加讨论,但是一个小时过去了,没有提供任何澄清来确定他们的意思。这不利于堆栈溢出。在你发帖后的第一个小时内,你应该在这里检查几次,以确保你的问题被清楚地理解。
const names = group.values.map(v => v.name);