2016-08-07 3 views
0

に文字列を挿入し、コードが「ATAの終わりに交換する必要があります"単語。私は配列を持っていると私は、現在の配列値(文字列)が<strong>「ATA」</strong>が含まれている場合<strong>「ZZ」</strong>を挿入したい特定の位置

var duplicatesArray = ["abıca","abrık","apşak","abbak","abu","aparma","apalisına","appak","aparmadutı","apşak","apışık","apşak","apışıklık","apışık","apalak","apılamak","apul","apul","apulamak","aparmak","at","arkasına","gelmek","ata","atabeg","at","eri","at","ağaç","at","oğlanı","at","akdarıcı","at","otayıcı","at","uşağı","at","oğlanı","at","oynağı","at","bırakmak","at","boynuna","düşmek","at","boynuna","düşmek","at","cıvlandurmak","at","çapmak","at","çapmak","at","depretmek","at","depmek","atı","doldurmak","at","segirtmek","ateş","evi","ateş","göyniigi","atışmak","ateşe","urmak","ateşe","nal","komak","at","şalmak","at","şalmak","at","tonı","at","kaşnısı","at","kaldırmak","at","kulağı","at","koparmals","at","koşmak","at","kulağı","götliği","atlaz","atlandurmak","atlandurmak","atlanmak","atlu","azuğı","atımı","yir","ata","atalar","atıcıduğı","aç","itmek","acıtğan","acıtmak","aç","dirilmek","acır","acırak","acışıklık","acışmak","aç","tutmak" 
 
]; 
 

 
var uniqueArray = duplicatesArray.filter(function(elem, pos) { 
 
    return duplicatesArray.indexOf(elem) == pos; 
 
}); 
 
\t 
 

 

 
for (var i = 0; i < uniqueArray.length; i++) { 
 
    var st = uniqueArray[i]; 
 
    if((st.endsWith("mak")==false) && (st.endsWith("mek")== false) && (st.length>3)) 
 
    { 
 
    \t 
 
    var b = "ata"; 
 
    var insert = "ZZ"; 
 
    
 
    var position = st.indexOf("b"); 
 
    \t st = st.slice(0, position) + insert + st.slice(position); 
 
    
 
    
 
    document.writeln(st); 
 
    document.write("<br>"); 
 
    
 
    
 
    } 
 
    
 

 
    }

+0

?あなたは望ましい出力の例を挙げることができますか? – Arnauld

+2

具体的な問題を明確にしたり、詳細を追加して必要なものを正確に強調してください。現在書かれているとおり、あなたが求めていることを正確に伝えるのは難しいです。 –

+0

どうすれば編集できますか?変更ボタンはありません... – pinug

答えて

0

は明らかにされているが、あなたはあなたのuniqueArray.map()メソッドを使用する必要があるように思えます。

このコードは、リスト内の各単語を順番に調べ、すべての条件が満たされている場合は置き換えます。まさに現在のバージョンで間違って何

// using a shorter, already deduplicated list for sake of clarity 
 
var uniqueArray = [ 
 
    "abıca","gelmek","ata","atabeg","at","eri","yir","atalar","tutmak" 
 
]; 
 

 
var result = uniqueArray.map(function(word) { 
 
    return (
 
    !word.endsWith("mak") && 
 
    !word.endsWith("mek") && 
 
    word.length > 3 ? 
 
    word.replace(/ata/, "ataZZ") : word 
 
); 
 
}); 
 

 
console.log(result);

+0

ありがとう – pinug

0

私が正しいか間違っているのですか? :)私はいくつかの詳細たら、後でこの回答を編集する必要があるかもしれません

var initialArray = ["abıca","abrık","apşak","abbak","abu","aparma","apalisına","appak","aparmadutı","apşak","apışık","apşak","apışıklık","apışık","apalak","apılamak","apul","apul","apulamak","aparmak","at","arkasına","gelmek","ata","atabeg","at","eri","at","ağaç","at","oğlanı","at","akdarıcı","at","otayıcı","at","uşağı","at","oğlanı","at","oynağı","at","bırakmak","at","boynuna","düşmek","at","boynuna","düşmek","at","cıvlandurmak","at","çapmak","at","çapmak","at","depretmek","at","depmek","atı","doldurmak","at","segirtmek","ateş","evi","ateş","göyniigi","atışmak","ateşe","urmak","ateşe","nal","komak","at","şalmak","at","şalmak","at","tonı","at","kaşnısı","at","kaldırmak","at","kulağı","at","koparmals","at","koşmak","at","kulağı","götliği","atlaz","atlandurmak","atlandurmak","atlanmak","atlu","azuğı","atımı","yir","ata","atalar","atıcıduğı","aç","itmek","acıtğan","acıtmak","aç","dirilmek","acır","acırak","acışıklık","acışmak","aç","tutmak"]; 
var newArray = [] 
var regexp = /(ata)(.*)?/; 
for (var i = 0; i< initialArray.length; i += 1) { 
    newArray.push(initialArray[i].replace(regexp, "$1ZZ$2")) 
} 
console.log(newArray) 
// ... "gelmek", "ataZZ", "ataZZbeg" ... 
+0

「ata」の後に任意の文字をマッチングさせてからすぐにそれらは '$ 2'で戻ってきますか? –

+0

正確に私の友人、ありがとうございました:) – pinug

+0

@torazaburo私たちは "ata"と "ata。*"の文字列を持っていました。 たぶん私は少し間違った答えを持っていた –

関連する問題

 関連する問題