問題が発生しましたが、正しく解決する方法がわかりません。
多次元配列があり、この配列から特定の値をフェッチして、新しい配列に配置したいと思います。以下の例を参照してください。
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に2つのジョンまたは複数の請求書を入れたくありません。
私が考えることができるのは、次のように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
}
});
しかし、これにはもっと賢い解決策があるはずです。私がそれを見つけるのを手伝ってください...