Javascript 将数组中的元素按新行拆分,并将对象属性指定给没有映射的每一新行
我是js的新手,希望能得到一些帮助 目前,我有代码,它接受每个1元素数组,将其拆分为\n,然后使用映射将每个拆分值分配给对象属性。目前,我正在使用Javascript 将数组中的元素按新行拆分,并将对象属性指定给没有映射的每一新行,javascript,arrays,object,Javascript,Arrays,Object,我是js的新手,希望能得到一些帮助 目前,我有代码,它接受每个1元素数组,将其拆分为\n,然后使用映射将每个拆分值分配给对象属性。目前,我正在使用map函数来实现这一点,但我想知道是否有一种方法可以实现相同的输出,而无需创建新数组 示例:(注意数组由一个元素组成,直到我用map解析它为止 var data = [ 'FooBar\n' 'BarFoo\n' 'FoodBar\n,' ] let headers = { BarOfFoo: ""
map
函数来实现这一点,但我想知道是否有一种方法可以实现相同的输出,而无需创建新数组
示例:(注意数组由一个元素组成,直到我用map解析它为止
var data = [
'FooBar\n'
'BarFoo\n'
'FoodBar\n,'
]
let headers = {
BarOfFoo: "",
FoodOfBar: "",
BarBarOfFoo: "",
};
let keys = Object.keys(headers);
result = data.map(s => Object.fromEntries(s.trim().split('\n').map((v, i) => [keys[i], v])));
console.log(result)
输出如下所示:
result =
[{
BarOfFoo: 'FooBar',
FoodOfBar: 'BarFoo',
BarBarofFoo: 'FoodBar',
}]
如何在不创建新阵列的情况下使用更传统的方法来实现这一点?使用以实现相同的预期结果
var数据=[
'FooBar\nBarFoo\nfoobar\n'
]
让标题={
巴罗福,
FoodOfBar:“”,
BarBarOfFoo:“,
};
让result=Array.of(Object.fromEntries)(data.reduce)(acc,curr)=>{
curr.trim().split(“\n”).forEach((v,i)=>{acc[i]=[acc[i],v]})
返回acc;
},Object.keys(头)))
console.log(结果)