2017-01-26 17 views
0
var input = [ "KittenService: ", "Leetmeme: Cyberportal", "Cyberportal: Ice", "CamelCaser: KittenService", "Fraudstream: Leetmeme", "Ice: "]; 

var output = []; 

function valid(input) { 
    for(var i = 0; i < input.length; i++) { 
    var array = input[i].trim().split(':'); 
    var packageName = array[0].trim(); 
    var dependencyName = array[1].trim(); 
    if(array.length > 1 && dependencyName === '') { 

     if(output.indexOf(packageName) === -1) { 
     output.push(packageName); 
     } 
     else { 
     return; 
     } 
    } 
    else if(array.length > 1 && dependencyName !== '') { 
     if (output.indexOf(dependencyName) === -1) { 
     output.push(dependencyName); 
     if(output.indexOf(dependencyName) > -1) { 
     if(output.indexOf(packageName) > -1) { 
     continue; 
     } 
     else { 
      output.push(packageName); 
     } 
     } 
     } 
     else if(output.indexOf(dependencyName) > -1) { 
     output.push(packageName); 
     } 
    } 
    } 
    return output.join(', '); 
} 
valid(input); 

依存性を注文するforループを使用して右に記録する私は出力が</p> <blockquote> <p>"KittenService、氷、Cyber​​portal、Leetmeme、CamelCaser、Fraudstream"</p> </blockquote> <p>になるために作るための方法を把握しようとしています

「キツンサービス、サイバーポートレット、リーメミム、アイス、キャメルケーザー、フロードストリーム」

依存関係を持つすべての入力を、入力前にプッシュする方法がわかりません。

答えて

2

続きを使用する代わりに、パッケージ名がない場合は、問題が戻ってきただけでした。入力用

var input =[ "KittenService: CamelCaser", "CamelCaser: " ] 
 

 
var output = []; 
 

 
function valid(input) { 
 
    for(var i = 0; i < input.length; i++) { 
 
    var array = input[i].trim().split(':'); 
 
    var packageName = array[0].trim(); 
 
    var dependencyName = array[1].trim(); 
 
    if(array.length > 1 && dependencyName === '') { 
 

 
     if(output.indexOf(packageName) === -1) { 
 
     output.push(packageName); 
 
     } 
 
     else { 
 
     continue; 
 
     } 
 
    } 
 
    else if(array.length > 1 && dependencyName !== '') { 
 
     if (output.indexOf(dependencyName) === -1) { 
 
     output.push(dependencyName); 
 
     if(output.indexOf(dependencyName) > -1) { 
 
      output.push(packageName); 
 
     } 
 
     } 
 
    } 
 
    } 
 
    return output; 
 
} 
 
console.log(valid(input));

+0

感謝。あなたがそれをすることができるかはわかりませんでした。 – Yh1234

関連する問題

 関連する問題