【发布时间】:2013-03-14 20:01:01
【问题描述】:
我遇到了一个问题,不知道如何正确解决。
我有一个多维数组,我想从这个数组中获取某个值并将其放入新数组。请参见下面的示例:
var myArr = [];
var extArr = [{ name:"john", id:1 }, { name: "bill", id: 2 }, ... , { name: "john", id: N }, ... ];
$.each(extArr, function(key, val){
if ( ... ) { // <-- I need a condition here to prevent "name" repetition
myArr.push({ name: val.name, id: val.id });
} else {
// do nothing
}
});
我需要找到条件以防止将相同名称推入 myArr。例如,我不想在 myArr 中有两个 johns 或多个 bill。
我能想到的就是为 myArr 启动一个新的 $.each 循环,如下所示:
$.each(extArr, function(key, val){
var checkcheck;
$.each(myArr, function(key, name){
if ( val.name == name.name ) {
checkcheck = false;
} else {
checkcheck = true;
}
}
if ( checkcheck == false ) {
myArr.push({ name: val.name, id: val.id });
} else {
// do nothing
}
});
但我确信必须有一个更智能的解决方案来解决这个问题。 请帮我找到它...
【问题讨论】:
-
请在发布问题之前确定您要问的内容。您的编辑从根本上改变了解决方案。
-
对不起......我真的很难在脑海中形成所有这些东西。相信我,我现在正在全力以赴!
标签: javascript jquery multidimensional-array