Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.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_Arrays - Fatal编程技术网

Javascript 从数组对象中组合多个数组并选择唯一数组

Javascript 从数组对象中组合多个数组并选择唯一数组,javascript,arrays,Javascript,Arrays,下面的代码执行我希望它执行的操作。它将组合来自faqs[i]的所有唯一标记数组。。。如何使用更好的javascript重新考虑setFaqTopics() const常见问题=[ { 标签:[“下订单”] },{ 标签:['general'] },{ 标记:[‘下订单’] },{ 标签:['general','dog'] } ] 函数集常见问题解答主题(常见问题解答){ 常量标记=[]; 让tag_arrs=faqs.map(it=>{ tags.push(it.tags[0]) if(it.

下面的代码执行我希望它执行的操作。它将组合来自
faqs[i]的所有唯一
标记
数组。。。如何使用更好的javascript重新考虑
setFaqTopics()

const常见问题=[
{
标签:[“下订单”]
},{
标签:['general']
},{
标记:[‘下订单’]
},{
标签:['general','dog']
}
]
函数集常见问题解答主题(常见问题解答){
常量标记=[];
让tag_arrs=faqs.map(it=>{
tags.push(it.tags[0])
if(it.tags[1])tags.push(it.tags[1])
if(it.tags[2])tags.push(it.tags[2])
if(it.tags[3])tags.push(it.tags[3])
if(it.tags[4])tags.push(it.tags[4])
if(it.tags[5])tags.push(it.tags[5])
});
返回uniq(标签);
}
console.log(setFaqTopics(FAQ))
函数uniq(a){
返回一个.sort().filter(函数(项、位置、数组){
return!pos | | item!=ary[pos-1];
})

}
我在下面添加了一个更好的代码。请看一看

const faqs = [
            {
                tags: ['placing an order']
            },{
                tags: ['general']
            },{
                tags: ['placing an order']
            },{
                tags: ['general', 'dog']
            }
        ]

        function setFaqTopics(faqs) {
            const tags = new Set();
            let tag_arrs = faqs.map( it => {
                it.tags.map(val => {
                  tags.add(val)
                });
            });
            return Arrays.from(tags).sort();
        }

        console.log(setFaqTopics(faqs))

希望这有帮助

我在下面添加了一个更好的代码。请看一看

const faqs = [
            {
                tags: ['placing an order']
            },{
                tags: ['general']
            },{
                tags: ['placing an order']
            },{
                tags: ['general', 'dog']
            }
        ]

        function setFaqTopics(faqs) {
            const tags = new Set();
            let tag_arrs = faqs.map( it => {
                it.tags.map(val => {
                  tags.add(val)
                });
            });
            return Arrays.from(tags).sort();
        }

        console.log(setFaqTopics(faqs))

希望这有帮助

更好的排序方法。使用
Array.from(tags).sort()编辑答案。
更好的排序方法。使用
Array.from(tags).sort()编辑答案。