如何将数组的键指定为函数的参数?

时间:2016-12-14 15:46:16

标签: javascript arrays arrow-functions destructuring es6-modules

我有一个使用带有3个参数的箭头函数导出的JavaScript模块,如下例所示:

// getMonth.js module



export default (date, type, ...rest)  => {
  // Represent this return exmaple
  return date + ' ' + type + ' ' + rest
}




在主文件中,我有一个数组,我想将数组的键指定为函数的参数



import getMonth from '../modules/month.js'
  
let splitedParams = ['2016/07/14', 'full']

getMonth({date, type, ...rest} = splitedParams)




但是这个实现不对,我收到了一些错误,我怎么能这样做?

由于

2 个答案:

答案 0 :(得分:1)

使用spread syntax ...将数组中的值分配给函数参数:

import getMonth from '../modules/month.js'

const splitedParams = ['2016/07/14', 'full']

getMonth(...splitedParams)

答案 1 :(得分:1)

使用function.apply()

import getMonth from '../modules/month.js'

let splitedParams = ['2016/07/14', 'full']

getMonth.apply(null, splitedParams)

或使用spread operator...

getMonth(...splitedParams)

请参阅下面的示例中演示的内容:

let splitedParams = ['2016/07/14', 'full']

//using Function.prototype.apply()
getMonth.apply(null, splitedParams);

//using the spread operator
getMonth(...splitedParams);

function getMonth(date, type) {
  console.log('getMonth() - date: ', date, 'type: ', type);
}