从javascript中的命名值中删除元素

从javascript中的命名值中删除元素,javascript,google-apps-script,Javascript,Google Apps Script,我有以下函数,在提交google表单时调用。我试图将所有答案连接到一个数组中,该数组将在后面使用: function onFormSubmit(e) { var respostas = e.namedValues; for(item in respostas){ rp = rp.concat(respostas[item]); } } 但是我想去掉答案的时间戳。我可以使用respostas['Timestamp']访问它,但我找不到删除或忽略它的方法。没有多大帮助。在将属性与其他

我有以下函数,在提交google表单时调用。我试图将所有答案连接到一个数组中,该数组将在后面使用:

function onFormSubmit(e) {
var respostas = e.namedValues;

for(item in respostas){
    rp = rp.concat(respostas[item]);
  }
}

但是我想去掉答案的时间戳。我可以使用respostas['Timestamp']访问它,但我找不到删除或忽略它的方法。没有多大帮助。

在将属性与其他属性连接之前,可以检查属性的名称。
如果键
等于
时间戳
(不需要的属性),只需跳过当前循环即可

for(item in respostas) {
    if (item === 'Timestamp') {
       continue;
    }

    rp = rp.concat(respostas[item]);
}
编辑:根据注释,OP证明for..in循环中的
item
是一个整数,但是,除非他/她的代码与文档完全不同,否则变量应该包含字符串,而不是数字

var respostas={
“名字”:[“简”],
“时间戳”:[6/7/2015 20:54:13'],
'姓':['Doe']
};
用于(respostas中的项目){
控制台日志(项目);

}
您可以先检查属性名称,然后再将其与其他属性连接起来。
如果键
等于
时间戳
(不需要的属性),只需跳过当前循环即可

for(item in respostas) {
    if (item === 'Timestamp') {
       continue;
    }

    rp = rp.concat(respostas[item]);
}
编辑:根据注释,OP证明for..in循环中的
item
是一个整数,但是,除非他/她的代码与文档完全不同,否则变量应该包含字符串,而不是数字

var respostas={
“名字”:[“简”],
“时间戳”:[6/7/2015 20:54:13'],
'姓':['Doe']
};
用于(respostas中的项目){
控制台日志(项目);
}
返回带有自定义键的JSON对象

var jsonObj = e.namesValues;

/* e.namedValues returns data like this...
{
  "test1": "testval1",
  "test2": "testval2",
  "test3": "testval3",
}
*/
for(item in respostas){
    Logger.log(item); //Key
    Logger.log(respostas[item]); //Value
}
这将允许您访问
respostas
中项目的键或值

接受的答案更好,因为它更能帮助用户解决他们的确切问题,但是,我将把这个留给未来的用户,以防他们想了解如何访问Google Apps脚本返回的对象中的变量

返回带有自定义键的JSON对象

var jsonObj = e.namesValues;

/* e.namedValues returns data like this...
{
  "test1": "testval1",
  "test2": "testval2",
  "test3": "testval3",
}
*/
for(item in respostas){
    Logger.log(item); //Key
    Logger.log(respostas[item]); //Value
}
这将允许您访问
respostas
中项目的键或值

接受的答案更好,因为它更能帮助用户解决他们的确切问题,但是,我将把这个留给未来的用户,以防他们想了解如何访问Google Apps脚本返回的对象中的变量

这就是我的建议。使用concat添加一个项目是过分的,你可以直接推它。当您在对象属性上循环以确保它们是该对象自己的属性,而不是从原型继承时,这也是一个很好的实践。你可以阅读更多关于它的内容


这就是我的建议。使用concat添加一个项目是过分的,你可以直接推它。当您在对象属性上循环以确保它们是该对象自己的属性,而不是从原型继承时,这也是一个很好的实践。您可以阅读有关它的更多信息

谢谢,但是
item
是一个表示位置的整数,而不是名称。
时间戳的位置可以根据表单上的答案而改变,而不是根据文档:
名称值:包含表单提交中的问题名称和值的对象。
。在您的示例中,
item
namedValues
对象的字符串键。实际上,我犯了另一个错误,这就是它不起作用的原因。现在按计划工作,谢谢!它是否返回一个JSON对象,其中包含作为问题名称的键和作为答案的值。所以项目会是一个关键:价值对?@菲诺,如果是这样的情况下,投票是你的,考虑撤回投票。另外,如果答案有帮助,考虑接受它。谢谢,但是<代码>项目是一个表示位置的整数,而不是名称。
时间戳的位置可以根据表单上的答案而改变,而不是根据文档:
名称值:包含表单提交中的问题名称和值的对象。
。在您的示例中,
item
namedValues
对象的字符串键。实际上,我犯了另一个错误,这就是它不起作用的原因。现在按计划工作,谢谢!它是否返回一个JSON对象,其中包含作为问题名称的键和作为答案的值。所以项目会是一个关键:价值对?@菲诺,如果是这样的情况下,投票是你的,考虑撤回投票。同样,如果答案有帮助,考虑接受它。