Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/457.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 提取内部的数组和对象数组_Javascript - Fatal编程技术网

Javascript 提取内部的数组和对象数组

Javascript 提取内部的数组和对象数组,javascript,Javascript,我试图提取这个[“label1”、“label2”、“label3”、“label4”] 但是上面的代码打印了[[“label1”、“label2”]、[“label1”、“label3”]、[“label2”、“label4”]] 有人能帮我吗?首先,你可以映射你的objs数组,只获取标签数组,然后用Set删除重复项 const objs=[ {标签:[“label1”,“label2”]}, {标签:[“label1”、“label3”]}, {标签:[“label2”,“label4”]

我试图提取这个[“label1”、“label2”、“label3”、“label4”]

但是上面的代码打印了[[“label1”、“label2”]、[“label1”、“label3”]、[“label2”、“label4”]]


有人能帮我吗?

首先,你可以映射你的
objs
数组,只获取
标签
数组,然后用
Set
删除重复项

const objs=[
{标签:[“label1”,“label2”]},
{标签:[“label1”、“label3”]},
{标签:[“label2”,“label4”]},
];
常量r=[…新集合([].concat(…objs.map(({labels}=>labels)))];

控制台日志(r)
首先,您可以映射您的
objs
数组以仅获取
标签
数组,然后使用
Set
删除重复项

const objs=[
{标签:[“label1”,“label2”]},
{标签:[“label1”、“label3”]},
{标签:[“label2”,“label4”]},
];
常量r=[…新集合([].concat(…objs.map(({labels}=>labels)))];

控制台日志(r)请使用下划线尝试此操作

labels = this.get('objs').map(function(obj) {
           return obj.labels.map(function(label) {
             return label;
           });
         });
console.log(labels);

尝试使用下划线

labels = this.get('objs').map(function(obj) {
           return obj.labels.map(function(label) {
             return label;
           });
         });
console.log(labels);

您可以使用排列元素和
Set

labels = _.union(this.get('objs').map(function(obj) {
    return obj.labels.map(function(label) {
        return label;
    })
}))
console.log(labels);
.filter()
包括()


您可以使用排列元素和
Set

labels = _.union(this.get('objs').map(function(obj) {
    return obj.labels.map(function(label) {
        return label;
    })
}))
console.log(labels);
.filter()
包括()


你能在es5中提供这个吗?@LokeshCherukuri是的,当然。我认为在参数声明中进行解构可能会导致一些兼容性问题。您能在es5中提供吗?@LokeshCherukuri是的,当然。我认为,在参数声明中进行分解可能会导致一些兼容性问题。
var res = [];

objs.forEach(({labels}) => 
  res = [...res, ...labels.filter(prop => !res.includes(prop))]);