index.html
<!DOCTYPE html>
<html>
<head>
<style>
textarea {
width: 240px;
height: 360px;
}
</style>
</head>
<body>
<textarea id="ta1" placeholder="input1"></textarea>
<textarea id="ta2" placeholder="input2"></textarea>
<textarea id="same" placeholder="same" disabled></textarea>
<textarea id="new_word" placeholder="new_word" disabled></textarea>
<script>
function get_elem(id){
return document.getElementById(id);
}
var ta1 = get_elem("ta1");
var ta2 = get_elem("ta2");
var same = get_elem("same");
var new_word = get_elem("new_word");
ta1.onkeyup = ta_keyup;
ta2.onkeyup = ta_keyup;
/************************************
ta1とta2にキーワード一覧コピペすると
sameには共通のキーワードが出力される
new_wordにはta2にあってta1にないキーワードが出力される
************************************/
function ta_keyup(){
var ta_values = ta1.value.split("\n");
var ta2_values = ta2.value.split("\n");
var filtered = filter_array(ta_values, ta2_values)
same.value = same_words.join("\n");
new_word.value = new_words.join("\n");
}
/************************************
same_wordsとnew_wordsを抽出する
************************************/
var same_words;
var new_words;
var value;
function filter_array(array, array2) {
new_words = [];
same_words = [];
for(var i = 0; i < array2.length; i++){//obj2の要素数だけ繰り返す
value = array2[i];//obj2のenを一つずつ取得
var filtered = array.filter(judge);
var result = get_result(filtered);
same_or_new(result, i, array2)
}
}
function judge(obj_item) {
var result = value === obj_item;
return result;
}
function get_result(filtered) {
var result = [];
for (var i = 0; i < filtered.length; i++) {
result.push(filtered[i]);
}
return result;
}
function same_or_new(result, i, array2){
if(result == ""){
new_words.push(array2[i]);
}else if(result != ""){
same_words.push(array2[i]);
}
}
</script>
</body>
</html>
|