2016-08-07 2 views
0

나 배열을 가질에서 문자열을 삽입하고, 현재 배열 값 (문자열) "ATA", 끝에 바꿔야 코드 "ATA 포함 있을지 'ZZ'를 삽입 할 " 단어.특정 위치

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

@ 토라자부로 배열에서 우리는 "ata"와 "ata. *"문자열을 가졌다. 어쩌면 내가 대답을 조금 잘못했기 때문일 수도 있습니다. –