2016-11-21 5 views
-2

配列がありますa= ["APP","COM", "REJ" , "COM APP"]b= [23,54,56,24].A and Bの長さが同じです。 配列Aの値に配列VALUEが含まれている配列Bのすべての要素を取得する方法配列0128配列。他の配列を参照して配列の値を取得する

+0

**基本的な考え方:**配列Aを介して配列C.反復を作成する - Aの項目が空でない場合、配列Bから配列Cに対応する項目を追加し、それを実行します。他の人があなたのためにコードを書くなら、あなたは何も学ばないでしょう。 –

答えて

2

var a= ["3","", "6"]; 
 
var b= [23,54,56]; 
 

 
function selector(e, i){ return {e, i}; } 
 
function filter(e){ return e.e != "" } 
 
function selector2(e){ return b[e.i] } 
 

 
var c = a.map(selector).filter(filter).map(selector2); 
 
console.log(c);

1

あなたは結果あなたはあなたが必要なものをacheiveするためにフィルタを使用することができ

var a= ["3","", "6"], b= [23,54,56], c = []; 
 
for (var i = 0; i < a.length; i++){ 
 
    if(a[i] !== "" && b[i]) 
 
     c.push(b[i]) 
 
} 
 

 
console.log(c)

+1

"!=="の代わりに "!=="を使用するように答えを更新しました。 "!="はjavascriptのほとんどの等価比較のために悪い形式です – Adrian

2

を取得するためのループを使用することができます。ここであなたができることがあります。

var a = ["3", "", "6"]; 
 
var b = [23, 54, 56]; 
 

 
var result = b.filter((val, idx) => a[idx] !== ""); 
 

 

 
var resultWithEs5 = b.filter(function(val, idx) { 
 
    return a[idx] !== ""; 
 
}); 
 

 
console.log(result); 
 

 
console.log(resultWithEs5);

0

あなたは、Arrayフィルター法を使用してそれを行うことができます。

a= ["3","", "6"]; 
 
    b= [23,54,56]; 
 
    result = b.filter((ele, index) => { 
 
\t  return a[index] !== ''; // your condition, here is not false. 
 
    }) 
 
    console.log(result)

Detailリンク:Array.prototype.filter

0

はここに私のソリューションです。それが役に立てば幸い!

var a= ["3","", "6"], b= [23,54,56] 
 

 
var element = ""; 
 

 
for(var i in a){ 
 
    if(a[i] == ""){ 
 
     element = i; 
 
    } 
 
} 
 
var index = b.indexOf(b[element]); 
 

 
if (index > -1) { 
 
    b.splice(index, 1); 
 
} 
 
console.log(b)

関連する問題