Javascript make函数从作为参数传入的数组中获取多个变量

Javascript make函数从作为参数传入的数组中获取多个变量,javascript,arrays,function,parameters,Javascript,Arrays,Function,Parameters,如何使函数从作为参数传入的数组中获取多个变量 编辑 例如: 为此: const inputObj = [ ['Anna', 10, 'Monday'], ['Anna', 15, 'Wednesday'], ['Beatrice', 8, 'Monday'], ['Beatrice', 11, 'Wednesday'], ['Anna', 4, 'Wednesday'], ['Beatrice', 5, 'Monday'], ['Beatrice', 16, 'Monday'] ]

如何使函数从作为参数传入的数组中获取多个变量

编辑

例如:

为此:

const inputObj = [
 ['Anna', 10, 'Monday'],
 ['Anna', 15, 'Wednesday'],
 ['Beatrice', 8, 'Monday'],
 ['Beatrice', 11, 'Wednesday'],
 ['Anna', 4, 'Wednesday'],
 ['Beatrice', 5, 'Monday'],
 ['Beatrice', 16, 'Monday']
]
// expected output:
const outputObj = [ 
[ 'Anna', 10, 'Monday' ],
  [ 'Anna', 19, 'Wednesday' ],
  [ 'Beatrice', 29, 'Monday' ],
  [ 'Beatrice', 11, 'Wednesday' ] 
]

const arr = [0, 2]

const someFunction = (obj, v, a) => {
    const result = obj.reduce((acc, cur) => {
        const key = `${cur[a[0]]}|${cur[a[1]]}`
        if(!acc[key]) acc[key] = cur
        else acc[key][1] += cur[v]
        return acc
      }, {})
    return Object.values(result)
}


console.log(someFunction(inputObj, 1, arr))
为此:

const arr = [0, 2, 3, ...] // basically the array could contain any number of items.

const someFunction = (obj, v, objParams) => {
      const result = obj.reduce((acc, cur) => {
      const key = ??? 
      ...
      }, {})
}
为了使函数可以重用并接受自定义大小的数组,请检查数组中的列号是否相同,然后添加作为
v
传入的列的总和

如何声明objParams中的变量以获得与上面代码相同的结果


如何在<代码>中添加<代码> v>代码> Cur<<代码>

假设ObjARAMs是未知大小的数组(本例中的字符串):

建成的是:

${cur[c1]}|${cur[c2]}|${cur[c3]

假设objParams是一个大小未知的数组(本例中为字符串):

建成的是:

${cur[c1]}|${cur[c2]}|${cur[c3]

使用ES6,可以在参数定义中使用扩展运算符

更多关于扩展运算符的阅读

函数和(…参数){
返回args.reduce((结果,值)=>result+value,0)
}
常量数=[1,2,3];
console.log('sum',sum(2,2));
console.log('sum',sum(…number));
log('sum',sum(1,2,1,…数字));
//在累积剩余参数之前获取单个参数
函数sum2(foo、bar、…args){
返回args.reduce((结果,值)=>result+value,0)
}
console.log('sum2',sum2(2,2));
console.log('sum2',sum2(…编号));

log('sum2',sum2(1,2,1,…编号))对于ES6,您可以在参数定义中使用扩展运算符

更多关于扩展运算符的阅读

函数和(…参数){
返回args.reduce((结果,值)=>result+value,0)
}
常量数=[1,2,3];
console.log('sum',sum(2,2));
console.log('sum',sum(…number));
log('sum',sum(1,2,1,…数字));
//在累积剩余参数之前获取单个参数
函数sum2(foo、bar、…args){
返回args.reduce((结果,值)=>result+value,0)
}
console.log('sum2',sum2(2,2));
console.log('sum2',sum2(…编号));

log('sum2',sum2(1,2,1,…编号))
const key=objParams.join(“|”)
似乎是您想要的
const key=objParams.join(“|”)
似乎是您想要的,但这不起作用。它返回正确的键,但该键不起作用。试试console.log(key),它将键本身作为字符串返回,而不是键的值。实际上,这不起作用。它返回正确的键,但该键不起作用。尝试console.log(key),它将键本身作为字符串返回,而不是键的值。