これは、昨日私が尋ねた質問の続きです。ここでは、入力が配列の要素のいずれかの部分と一致するかどうかを判断する方法を尋ねました('sun'&'sunday' ='sun')。これが解決策でした。
var _array = ["sun", "mon", "tue", "wed", "thu", "fri", "sat"];
for (var i = 0; i < _array.length; i++) {
if (_val.indexOf(_array[i]) != -1) {
$('span').text('it worked');
return;
}
}
$('span').text('nothing');
ただし、trueの場合は、連想配列のフルネームの値と一致させる必要があることに気づきました。例:('sun'、'sund'、'sunda'、または'sunday')と入力すると、'sunday'が返されます。大文字と小文字を区別しないのが理想的ですが、自分で理解できます。
var _array = {
"sun" : "sunday",
"mon" : "monday",
"tue" : "tuesday",
"wed" : "wednesday",
"thu" : "thursday",
"fri" : "friday",
"sat" : "saturday"
};
これがソリューションの2番目の部分です。この例ではを削除するだけでよいのelse {
$('p').text('');
}
ですが、プロジェクトコードでは機能しません。