Javascript 有没有办法使用另一个数组的元素动态创建一个新数组?

Javascript 有没有办法使用另一个数组的元素动态创建一个新数组?,javascript,jquery,Javascript,Jquery,因此,我正在创建一个表,用户将在该表的表头填写他们的选项。对于这个例子,假设我想创建3个标题作为选项:“水果”、“甜点”和“其他” “申请人”将填写这些标题的答案 我试图解决的问题如下: 我需要对这些答案进行排序,我想用标题作为数组的变量,然后用答案填充数组,如: let fruits = []; fruits.push(*applicant's answers*); 我可以在表格准备好填充后创建一个带有标题的数组,比如“headers=[水果,甜点,其他]”,但我不知道如何创建“水果=[]”

因此,我正在创建一个表,用户将在该表的表头填写他们的选项。对于这个例子,假设我想创建3个标题作为选项:“水果”、“甜点”和“其他”

“申请人”将填写这些标题的答案

我试图解决的问题如下: 我需要对这些答案进行排序,我想用标题作为数组的变量,然后用答案填充数组,如:

let fruits = [];
fruits.push(*applicant's answers*);
我可以在表格准备好填充后创建一个带有标题的数组,比如“headers=[水果,甜点,其他]”,但我不知道如何创建“水果=[]”或“甜点=[]”,因为在表格填充并准备好回答之前我不知道标题


有没有办法解决这个问题,或者我需要用另一种方法来解决这个问题?

您可以使用事件侦听器单击输入项来运行带有
arr.reduce()
的函数,以迭代标题数组,并将两个数组作为对象组合输入值,然后使用输入的每个新条目将对象推入另一个数组

const inputs=document.querySelectorAll('.inputs'))
const submit=document.getElementById('submit')
常量标题=[“水果”、“沙漠”、“其他”]
let entries=new Array()
const combineArrays=(标题、输入)=>{
返回标题。减少((acc、val、索引)=>{
acc[val]=输入[index]。值
返回acc
}, {})
}
submit.addEventListener('单击',()=>{
条目。推送(组合页面(标题、输入))
如果(entries.length>0){
submit.value='addmore'
}
console.log(条目)
})
。标题{
显示:内联块;
宽度:5雷姆;
线高:2米;
}
水果:
沙漠:
其他:

取决于“申请人的答案”是什么样的。熟悉和使用可用的方法(静态和原型)。