如何找到与文本框值匹配的数组的位置编号?

时间:2015-10-15 01:23:55

标签: javascript arrays sorting

我希望我的问题不会过于语无伦次。我是新手。

gulp.task('bundle-source', function () {
  return bundler.bundle(config);
});

gulp.task('bundle-config', function(){
   return gulp.src(['config.js'])
     .pipe(replace('src/*', 'dist/*'))
    .pipe(gulp.dest(''));
});

gulp.task('bundle', ['bundle-config', 'bundle-source']);

我想检查一下inputTextbox值是否与我的数组列表中的值匹配。如果是的话,我想将匹配值的位置编号分配给arrayPosition。

如果用户的输入与upperGrade数组列表中的第二个位置匹配(“M”),那么我想将数字2分配给arrayPosition。

我需要使用'if'语句并且不使用循环来执行此操作。

1 个答案:

答案 0 :(得分:0)

var inputTextbox = document.getElementById("txtinput");
var outputTextbox = document.getElementById("txtoutput");

var upperGrade = new Array("S", "M", "C", "T")
//var lowerGrade = new Array("s", "m", "c", "t") no need to have another array just for lower case AS LONG AS IT'S THE SAME LETTERS

var pos = upperGrade.indexOf(inputTextbox.value.toUpperCase()); // pos will be -1 if not found

请注意,索引(位置)从0开始。因此M位于1

位置

假设您要输出outputTextbox

内的位置
outputTextbox.value = (pos >= 0) ? pos : 'NOT FOUND';
// As RobG said, if you want the 'actual' position, you can use it like this:
// outputTextbox.value = ++pos || 'NOT FOUND';

如果inputTextbox中的值位于upperGrade数组中,则outputTextbox将填充该位置。否则,NOT FOUND将是它的内容。