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

Javascript 将数组中的元素按新行拆分,并将对象属性指定给没有映射的每一新行

Javascript 将数组中的元素按新行拆分,并将对象属性指定给没有映射的每一新行,javascript,arrays,object,Javascript,Arrays,Object,我是js的新手,希望能得到一些帮助 目前,我有代码,它接受每个1元素数组,将其拆分为\n,然后使用映射将每个拆分值分配给对象属性。目前,我正在使用map函数来实现这一点,但我想知道是否有一种方法可以实现相同的输出,而无需创建新数组 示例:(注意数组由一个元素组成,直到我用map解析它为止 var data = [ 'FooBar\n' 'BarFoo\n' 'FoodBar\n,' ] let headers = { BarOfFoo: ""

我是js的新手,希望能得到一些帮助

目前,我有代码,它接受每个1元素数组,将其拆分为\n,然后使用映射将每个拆分值分配给对象属性。目前,我正在使用
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(结果)