wyzxzws 发表于 2013-1-29 08:44:14

我的递归呀

/** * 找到所有子小题 */function searchSubNode(src_arr, p_node) {var ret_arr = var sub_arr = [];for (var i = 0; i < src_arr.length; i++) {var node_i = src_arr;if ("" === node_i) {continue;}var has_p = node_i.hasP();if (has_p === p_node.getVSubName()) {// 如果has_p属性和父亲节点的vsubname节点值相等src_arr.splice(i, 1, "");// 删除第i个元素var has_sub = node_i.hasSub();if ("no" === has_sub) {var content = node_i.getContent();sub_arr.push(content);} else {sub_arr = searchSubNode(src_arr, node_i);}}}ret_arr.push(sub_arr);return ret_arr;} 以上是递归求出所有的子小题
以下是示例结果集:
["<vsubcontent value=\"no\"><vsubname>a</vsubname><vsubvalue>1</vsubvalue></vsubcontent>","<vsubcontent value=\"no\"><vsubname>b</vsubname><vsubvalue>2</vsubvalue></vsubcontent>", ["<vsubcontent value=\"yes\"><vsubname>hh</vsubname><vsubvalue>3</vsubvalue></vsubcontent>", ["<vsubcontent value=\"yes\"><vsubname value=\"hh\">aa</vsubname><vsubvalue>3.1</vsubvalue></vsubcontent>",["<vsubcontent value=\"no\"><vsubname value=\"aa\">aaa</vsubname><vsubvalue>3.1.1</vsubvalue></vsubcontent>", "<vsubcontent value=\"no\"><vsubname value=\"aa\">bbb</vsubname><vsubvalue>3.1.2</vsubvalue></vsubcontent>"], "<vsubcontent value=\"no\"><vsubname value=\"hh\">bb</vsubname><vsubvalue>3.2</vsubvalue></vsubcontent>"],]] 哎,我得学学算法了!
页: [1]
查看完整版本: 我的递归呀