(1)未完成体
var array = ['a','b','c','d','c','f']; //定义一个数组;
function indexof(array,con) { //我们要做的是输入一个字符,看看这个字符在数组中的下标;所以我们要给个函数;()里面一个为数组,一个为要找的内容;
for (var i = 0; i < array.length; i++) { //由于是对数组里面每一个元素进行判断,所以要给个循环,来进行每一项的判断,根据数组的长度来确定,判断几次;
if (array[i] == con) { //每一个元素都能循环了,再来进行判断,如果数组【i】==输入的内容,则返回这个内容的下标;
return i;
}
}
return -1; //如果这个return放在if else里面,这个循环体循环一次就会终止,放在循环体外面,会先进性判断,在进行循环;
}
console.log(indexof(array,'c')); //最后进行打印输出,先写调用的函数的名字,然后是我们先前写好的数组,最后是我们要找的数组元素;最后结果为该元素的下标;
这时候只完成了indexof一般的作用,让我们来看另一半是如何实现的;
(2)完成体
var array = ['a','b','c','d','c','f'];
function indexof(array,con, ti) {
var i = null;
isNaN(ti) ? i = 0 : i = ti; //我们要写一个来决定从第几个下标开始找的下标;首先要判断他输入的是数字还是字符串,还是没输入,这时候就要有只有两个值的isNaN来判断了
//如果是数字,则会选择i=ti;如果不是数字,则会选择i=0;
for (i; i < array.length; i++) {
if (array[i] == con) {
return i;
}
}
return -1;
}
console.log(indexof(array,'c',3));