Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/365.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,我有一个带有动态键的对象数组 response = [{"1": 1}, {"2": 1}, {"3": 1}, {"4": 0}, {"5": 0}]; 我想将这个对象数组展平为一个数组 Output = [1, 1, 1, 0, 0] 我尝试了以下方法: const test2 = this.response.map(obj => { Object.keys(obj).map(function(key){ return obj[key] }) });

我有一个带有动态键的对象数组

response = [{"1": 1}, {"2": 1}, {"3": 1}, {"4": 0}, {"5": 0}];
我想将这个对象数组展平为一个数组

Output = [1, 1, 1, 0, 0]
我尝试了以下方法:

const test2 = this.response.map(obj => {
    Object.keys(obj).map(function(key){
        return obj[key]
    })
});

const test = this.response.reduce(function(prev, curr){
    console.log(curr)
    return (curr) ? prev.concat(curr): prev;
},[]);

您可以只使用map和object.values

response=[{1:1},{2:1},{3:1},{4:0},{5:0}]
const vals=response.map(o=>Object.values(o)[0])
console.log(VAL)
您可以将
.map()
.concat()一起使用:

let data=[{1:1},{2:1},{3:1},{4:0},{5:0}];
让result=[].concat(…data.map(Object.values));

控制台日志(结果)
使用reduce和
for..in
在对象上循环

let响应=[{
"1": 1
},
{
"2": 1
},
{
"3": 1
},
{
"4": 0
},
{
"5": 0
}
]
设k=响应。减少(功能(acc,curr){
for(以当前格式输入键){
acc.push(当前[按键])
}
返回acc;
}, [])
console.log(k)
response=[{1:1},{2:1},{3:1},{4:0},{5:0}]
var newArray=[]
对于(响应元素){
Object.keys(元素).map(键=>{
newArray.push(元素[键])
})
}

console.log(newArray)
类型“{}[]”不能分配给类型“number[]”。当在图表上使用但在概念上工作完美时,不知道上面的代码为什么会出现错误。