如何在Kantu中向现有数组添加元素
我执行了以下代码,但name2、length2、namesContent2并不像预期的那样
{
"Name": "testArrayPush",
"CreationDate": "2019-8-28",
"Commands": [
{
"Command": "storeEval",
"Target": "new Array ('cat','dog','fish','dog','?','frog','dog','horse','??elephant')",
"Value": "names"
},
{
"Command": "storeEval",
"Target": "storedVars['names'].length",
"Value": "length"
},
{
"Command": "storeEval",
"Target": "storedVars['names']",
"Value": "namesContent"
},
{
"Command": "echo",
"Target": "array names = ${namesContent}",
"Value": ""
},
{
"Command": "echo",
"Target": "array length = ${length}",
"Value": ""
},
{
"Command": "storeEval",
"Target": "[storedVars['names'],'Thomas']",
"Value": "names2"
},
{
"Command": "storeEval",
"Target": "storedVars['names2'].length",
"Value": "length2"
},
{
"Command": "storeEval",
"Target": "storedVars['names2']",
"Value": "namesContent2"
},
{
"Command": "echo",
"Target": "array names2 = ${namesContent2}",
"Value": ""
},
{
"Command": "echo",
"Target": "array length2 = ${length2}",
"Value": ""
}
]
}这就是输出,但我期望得到一个长度为10的新数组
该怎么做呢?
[status]
Playing macro testArrayPush
[info]
Executing: | storeEval | new Array ('cat','dog','fish','dog','?','frog','dog','horse','??elephant') | names |
[info]
Executing: | storeEval | storedVars['names'].length | length |
[info]
Executing: | storeEval | storedVars['names'] | namesContent |
[info]
Executing: | echo | array names = ${namesContent} | |
[echo]
array names = cat,dog,fish,dog,?,frog,dog,horse,??elephant
[info]
Executing: | echo | array length = ${length} | |
[echo]
array length = 9
[info]
Executing: | storeEval | [storedVars['names'],'Thomas'] | names2 |
[info]
Executing: | storeEval | storedVars['names2'].length | length2 |
[info]
Executing: | storeEval | storedVars['names2'] | namesContent2 |
[info]
Executing: | echo | array names2 = ${namesContent2} | |
[echo]
array names2 = cat,dog,fish,dog,?,frog,dog,horse,??elephant,Thomas
[info]
Executing: | echo | array length2 = ${length2} | |
[echo]
array length2 = 2
[info]
Macro completed (Runtime 5.47s)第一个数组是ok的,它的长度为9个元素
我想将几个新元素添加到这个现有数组中(稍后在代码循环中对它们进行循环)。
但是第二个数组只有两个元素,第一个元素是旧的数组,第二个元素是新添加的元素
如何正确对待这一点?
发布于 2019-08-28 17:25:10
如果希望保持原始数组不变,可以使用concat将新元素推送到旧数组的副本中。
所以
{
"Command": "storeEval",
"Target": "[storedVars['names'],'Thomas']",
"Value": "names2"
}转到
{
"Command": "storeEval",
"Target": "storedVars['names'].concat('Thomas')",
"Value": "names2"
},输出:
[info]
Executing: | storeEval | storedVars['names'].concat('Thomas') | names2 |
[info]
Executing: | storeEval | storedVars['names2'].length | length2 |
[info]
Executing: | storeEval | storedVars['names2'] | namesContent2 |
[info]
Executing: | echo | array names2 = ${namesContent2} | |
[echo]
array names2 = cat,dog,fish,dog,?,frog,dog,horse,??elephant,Thomas
[info]
Executing: | echo | array length2 = ${length2} | |
[echo]
array length2 = 10https://stackoverflow.com/questions/57688247
复制相似问题