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[]”。当在图表上使用但在概念上工作完美时,不知道上面的代码为什么会出现错误。