我有以下代码:
var actionsAllowed = $(packet).find('actionsAllowed').get();
var actionArray = $(actionsAllowed).each(function () {
var actionNodes = this.childNodes;
var actionNumber = actionNodes.length;
var array = new Array(actionNumber)
for (var i = 0; i < actionNodes.length; i++) {
var action = actionNodes[i].nodeName
array[i] = action
console.log(action);
}
return array;
});
这将搜索数据包 (XML)"actionsAllowed"
并将其返回为"[actionsAllowed]"
.
然后,我尝试使用数组中列出的每个操作创建一个数组。
"this"
变成"actionsAllowed"
没有"[ ]"
and 允许它以“NodeList[ActionOne, ActionTwo, ActionThree]”的形式返回子节点。然后我得到 NodeList 的长度并创建一个该长度的数组。
然后我遍历 NodeList 并将每个添加到数组中。
最后,它将数组返回为"[ActionOne, ActionTwo, ActionThree]"
,这很棒!
但是-这是问题所在:
变量"actionArray"
变为"Object[actionsAllowed]"
,而不是数组。
请问这是为什么?我有一个理论,但我无法解决它=(
谢谢!