如何更改函数返回的对象属性以使函数可重用

时间:2018-05-31 11:56:57

标签: javascript

我正在尝试编辑以下函数,以使其在我的应用程序中可用:

function data(){
  let nested = nest().key(function(d) { return d.location_name })
      .key(function(d) { return d.customer_id})
}

为了使这个可重用,第一个.key函数的返回需要是可变的。例如,我可能希望函数类似于:

function data(){    
let nested = nest().key(function(d) { return d.consultant_name})
              .key(function(d) { return d.customer_id})
};

我不知道该怎么做,因为我正在返回'd'的属性。

我首先尝试将它放在作为参数传入的变量中:

let example = d.location_name

function data(example){
  let nested = nest().key(function(d) { return example})
      .key(function(d) { return d.customer_id})
}

data(example)

但是这给了我'未定义'错误,我理解为什么。是否有特定的方法用于具有对象属性的可重用函数?

1 个答案:

答案 0 :(得分:1)

接受您要访问的属性名称作为参数:

function data (key) {    
  let nested = nest().key(function(d) { return d[key]})
    .key(function(d) { return d.customer_id})
    .entries(arr)
};

// e.g.
// data('location_name')
// data('consultant_name')