按参数查找Javascript关联数组

时间:2014-05-17 17:14:24

标签: javascript arrays associative-array argument-passing

我试图找到一种方法来在javascript中的关联数组中添加值,以便使用Google表格脚本编辑器创建邮件合并程序(每个关联数组对应不同的行)数据,与列标题对应的键)。以下代码提供了我想要做的简化示例。

var testArray = [{"firstEntry":14, "secondEntry":5, "thirdEntry":3}, {"firstEntry":20, "secondEntry":15, "thirdEntry":7}];

function tester(testArg) {
  var total = 0;
  for (var i = 0; i < testArg.length; ++i) {
    total += testArg[i].secondEntry;
  }
  return(total);
}

虽然上面的代码有效,但它不是很通用 - 如果我想添加对应于不同键的值,我将不得不编写一个新函数。 (上面示例中未包含的复杂因素是该函数还应仅添加某些数据行的值 - 这使得无法简单地在电子表格本身中添加值)。

所以,我的问题是:是否可以将密钥本身作为参数传递?我尝试使用类似下面编写的代码,但只接收&#34; undefined&#34;作为回报值。

var testArray = [{"firstEntry":14, "secondEntry":5, "thirdEntry":3}, {"firstEntry":20, "secondEntry":15, "thirdEntry":7}];

function tester(testArg, column) {
  var total = 0;
  for (var i = 0; i < testArg.length; ++i) {
    total += testArg[i].column;
  }
  return(total);
}

tester(testArg, "secondEntry");

我该怎么办?是否存在我缺失的句法惯例,或者它是否以上述方式不可能?如果后者应该是这样,那么我还可以尝试一些其他建议吗?

谢谢!

0 个答案:

没有答案