一些背景知识。我正在使用一个名为vRealize Orchestrator的应用程序,它具有多个工作流程。每个工作流程都会记录三个变量,我需要将这些变量传递到表中。可以添加其他工作流程,因此我保持逻辑有点开放。这是我的代码。
if(inTable == null){
outTable = new Array();
outTable = ([testName],[testScore],[testNotes]);
}
else{
outTable = new Array();
outTable = inTable
outTable.push([testName],[testScore],[testNotes]);
}
inTable将是包含模块所有结果的主数组。无论首先调用哪个模块,它都会初始化并将变量值推送到数组。如果inTable已有数据,则应该追加。
我可以存储数据,当我输出时,它看起来像这样" john,mary,steve"并被视为单个字符串,所以我以后不能解决它。我怎样才能将这些作为单独的元素,因此arry [0] [0]将等于" john"而不是" j"。
非常感谢任何建议。
答案 0 :(得分:0)
我认为这是您正在寻找的:
if(inTable == null){
outTable = [[testName],[testScore],[testNotes]];
}
else{
outTable = inTable;
outTable[0].push(testName);
outTable[1].push(testScore);
outTable[2].push(testNotes);
}
这样,outTable[0][0]
会为您提供"John"
。
作为个人说明,我不知道您对数据模型有多少控制权,或者您计划/必须使用它的具体程度,但这对我来说并不是最佳选择。通常当我们存储类似表的数据时,我们使用一个对象数组:
var table = [
{ name: 'John', score: 50, notes: 'Good effort' },
{ name: 'Alice', score: 60, notes: 'Well argued' },
];
这样,table[0].name
会为您提供"John"
。
答案 1 :(得分:0)
将outTable分配给inTable时,您将按值分配。这意味着当您更新outTable时,它不会相应地更新inTable。使用您的问题的措辞,听起来您想要将值附加到inTable。如果我是正确的话,这将更接近你所寻找的。 p>
if( inTable == null )
{
inTable = new Array();
}
inTable.push( [testName], [testScore], [testNotes] );
这样
inTable[ index ][0] == [testName]
inTable[ index ][1] == [testScore]
inTable[ index ][2] == [testNotes]