Java脚本函数根据父id从数组返回值
java script function returned value from array by parent id
我有一个数组var sub_type=[[]];
此数组中的每个元素都是包含3个value (id,name,parent_id)
的行。例如,
row1 [1,"mobile",0]
row2 [2,"samsung",1]
row3 [3,"sony",1]
row4 [4,"S4",2]
row5 [5,"S5",2]
row6 [6,"C2",3]
row7 [7,"Z3",3]
我如何构建一个函数,返回所有(孩子和父母)的id:
function get_parent_child(some_id){code here}
如果我输入id=2,它会返回parent=1 child=4,5
var mainArray = [[1, "test", 0],
[2, "test1", 1],
[3, "test2", 1],
[4, "test3", 2],
[5, "test4", 2]];
var matchedChilds = getChilds(mainArray, 1);
console.log(matchedChilds);
function getChilds(arr, id){
var childs = [];
for (var i = 0; i < arr.length; i++) {
if(arr[i][0] == id || arr[i][2] == id){
childs.push(arr[i]);
}
}
return childs;
}
如果数组保持这样(Id, Name, ParentId),您可以遍历数组并获得子数组。这将通过parentId创建一个包含你想要的子数组。
可以使用数组过滤器
参见下面的代码片段
var sub_type = [
[1, "mobile", 0],
[2, "samsung", 1],
[3, "sony", 1],
[4, "S4", 2],
[5, "S5", 2],
[6, "C2", 3],
[7, "Z3", 3]
];
function get_parent_child(some_id) {
var myElement = sub_type.find(function(el) {
return el[0] == some_id;
});
return sub_type.filter(function(el) {
return (el[0] == myElement[2] || el[2] == myElement[0]);
})
}
console.log(get_parent_child(2));
相关文章:
- 保存id数组's而不是对象
- 将对象数组与id数组进行比较
- 使用Javascript向ID数组发送通知时出现Facebook访问令牌错误
- 如何将id数组与带下划线的对象数组嵌套属性进行比较
- 获取jQuery UI排序后的ID数组
- 在主干网中过滤的 ID 数组上使用 .set
- 如何使用带有复选框的事件触发器访问 ID 数组
- 带有谷歌地球 API 的地标 ID 数组
- 使用 jQuery 使用 id 数组选择元素
- 从另一个表中获取 ID 数组的值
- 将应用请求对话框发送到特定的 id 数组
- 我正在尝试遍历 id 数组,如果不存在 id,则插入一个 mongodb 文档.我怎样才能让他们坚持下去
- 来自不同集合的子文档 ID 数组的猫鼬架构
- 如何将 ID 数组与包含其 ID 作为属性名称一部分的对象属性进行匹配
- 当使用sequelize.js给一个id数组时进行多次删除
- 从id数组到名称数组(mongo,nodejs)
- 循环遍历DIV id数组,并每隔x秒刷新这些DIVS
- 获取javascript中id数组相似的所有元素
- 在MongoDB中输入用户名数组,并返回相同大小的id数组,对于不存在的用户名为null或false
- 通过对象列表将 ID 数组映射到字符串数组