コーディングのバックグラウンドが少ないため、javascriptのindexof条件を使用して、既存の配列からフィルター処理された配列を取得しようとしています。
私のコード:
function CheckIfexists(element) {
return (element.indexOf(formInput) > -1);
}
var filtered = data.filter(CheckIfexists);
window.alert(filtered[1] + " " + filtered[2] + " " + filtered[3]);
上記のコードが機能していません
addl情報:
forminputは、フォームフィールドから取得した入力です。
var formInput = document.getElementById("textReader").value;
私が取得したデータ配列...
var data = oRequest.responseText.split("\r\n");
私が試した別の方法は..
function CheckIfexists(formInput) {
for (var i = 0; i < data.length; i += 1) {
if (data[i].indexOf(formInput) > -1) {
return false;
}
}
return true;
}
var filtered = data.filter(CheckIfexists);
window.alert(filtered[1] + " " + filtered[2] + " " + filtered[3]);
上記のコードも機能していません。
各要素をコードでチェックしたので、データ配列とフォーム入力について疑わないでください。
for(var i=0; i<data.length; i++) {
if (data[i] === formInput) {
alert("You want to retrieve report?");
didntfind = false;
break;
}
}
if (didntfind) alert("sorry. part not found");
そして、私は一致するものと一致しないものを手に入れました。追加の注意:データ配列にはパーツ名があります。forminputはデータ配列の要素と完全に同じではない場合があり、部分的である場合もあります。私の苦労は、新しい配列でフィルタリングされたものを取得することです。