javascript数组有没有indexOf方法

javascript数组有没有indexOf方法,第1张

在js最新标准ECMA5中数组是支持的indexOf方法的(目前的主流浏览器均支持ECMA5)

ECMA5新增的方法:

/

  ECMA5数组新增方法

 /

// 1indexOf 比较的是 '==='

// var arr = [1, 2, 3, 4, 5, 4, 3, 2, 1];

// // 一个参数: 返回3在数组arr的索引

// var index1 = arrindexOf(3);

// alert(index1); // 2

// // 两个参数: 从第5个位置查找3, 返回3在arr的索引

// var index2 = arrindexOf(3, 5);

// alert(index2); // 6

// 2lastIndexOf (从后面查找)

// 3五个迭代方法(不改变原数组)

// var arr2 = [1, 2, 3, 4, 5, 4, 3, 2, 1];

// 31every对数组的每一元素,调用回调函数运行, 如果回调函数都返回true,结果返回true; 如果回调函数有一个返回false, 返回false

// 当every回调函数返回false时, 函数直接返回

// var r1 = arr2every(function(item, index, array) {

// documentwrite(item);

// return item > 2;

// });

// alert(r1);

// alert(arr2);

// 32filter对于数组的每一个元素, 调用回调函数进行过滤, 返回过滤后的结果

// var r2 = arr2filter(function(item, index, array) {

// return item > 3;

// });

// alert(r2);

// 33foreach对于数组的每一个元素, 调用回调函数(没有返回值)

// var r3 = arr2forEach(function(item, index, array) {

// documentwrite(item);

// });

// alert(r3); // undefined

// 34map对于数组的每一个元素, 调用回调函数, 返回一个新数组

// var r4 = arr2map(function(item, index, array) {

// return item2;

// });

// alert(r4);

// alert(arr2);

// 35some对数组的每一元素,调用回调函数运行, 如果回调函数任意一个返回true,结果返回true; 如果回调函数都返回false, 返回false

//  当some回调函数返回true时, 函数直接返回

// var r5 = arr2some(function(item, index, array) {

// documentwrite(item);

// return item > 2;

// });

// alert(r5);

// alert(arr2);

//4reduce, reduceRight (遍历的起始位置不同)

// var arr3 = [1, 2, 3, 4, 5, 4, 3, 2, 1];

// // prev: 前一个值

// // cur: 当前值

// var r6 = arr3reduce(function(prev, cur, index, array) {

// return prev + cur; 

// });

// alert(r6); // 求数组和

var arr3 = [1, 2, 3, 4, 5, 4, 3, 2, 1];

var r7 = arr3reduceRight(function(prev, cur, index, array) {

return prev + cur; 

});

alert(r7); // 求数组和

数组其他方法:

/

 js中的数组类似与java中的map, 长度可任意改变, 元素类型任意

 /

// 一创建数组

// 方法1

// var arr1 = new Array();

// // 方法2

// var arr2 = [1, 22, true, "hello"];

// alert(arr2length);

// arr2length = 3; // 小于实际长度, 会进行截断; 大于实际长度, arr2[length-1]返回的是undefined

// alert(arr2); // 隐式的调用了arr2toString()方法

// 二数组常用方法

// 1pop , push

// var arr3 = [];

// arr3push(1);

// arr3push(2, 3); // 可以推入多个值, 返回数组的长度

// alert(arr3push(4, 5)); // 返回数组的长度 5

// alert(arr3);

// arr3pop(); // 从数组的尾部移除一个元素, 返回移除的元素

// alert(arr3pop()); // 返回移除的元素 4

// alert(arr3);

// 2shitf, unshitf

// var arr4 = [1, 2, 3, 4, 5];

// alert(arr4shift()); // 从数组首部移除元素, 返回移除的元素

// alert(arr4);

// arr4unshift("a"); // 从头部插入元素, 返回数组的长度

// alert(arr4unshift("b", "c")); // 返回数组的长度 7

// alert(arr4);

// 3 splice, slice 

/

  splice: 改变数组本身

  slice: 不改变数组

 /

// var arr5 = [1, 2, 3, 4, 5];

// // splice: 

// //        第一个参数: 表示从哪个位置进行删除

// //        第二个参数: 表示删除的个数

// //        第三个参数及以后: 表示从截取的位置插入的元素

//          //        返回值: 原数组被删除的元素

// var r = arr5splice(1, 2, 3, 4, 5); // splice(1)==> 1 | splice(1, 2)==> 1, 4, 5

// alert(r); // 被删除的元素

// alert(arr5); // 1, 3, 4, 5, 4, 5

// var arr6 = [1, 2, 3, 4, 5];

// var r2 = arr6slice(2, 4); // 左闭右开区间, 返回被截取的元素

// alert(r2); // 3, 4

// alert(arr6); // 1, 2, 3, 4, 5 

//4 contact, join

/

  contact 和 join 均不改变数组本身

  

 /

// var arr7 = [1, 2, 3];

// var arr8 = [4, 5, 6, 7];

// var r3 = arr7concat(arr8);

// alert("arr7: " + arr7);

// alert("arr8: " + arr8);

// alert("concat: " + r3);

// var r4 = arr7join("-"); // 每个元素间加-, 返回的是一个字符串

// alert("arr7: " + arr7);

// alert("join: " + r4);

// 5 sort, reverse

/

  sort, reverse均改变数组本身

  sort: 默认将每个元素变为字符串,进行比较

 /

// var arr9 = [8, 4, 3, 9, 5, 9, 0, 1, 10, true];

// var r5 = arr9sort(); // 正序排序, 返回排序后的数组

// alert(r5); // 返回排序后的数组

// alert(arr9); // 数组的序列已经被改变(正序)

//

// arr9 = [8, 4, 3, 9, 5, 9, 0, 1]; 

// var r6 = arr9reverse(); // 逆序输出, 返回逆序的数组

// alert(r6); // 返回逆序的数组

// alert(arr9); // 数组元素已经被改变

var arr = [8, 4, 3, 9, 5, 9, 10, 1]; 

function compare(v1, v2) {

if (v1 > v2)

return 1;

else if (v1 < v2)

return -1;

else

return 0;

}

alert(arrsort()); // 转换为字符串排序

alert(arrsort(compare)); // 自定义排序

它所查出来的是你给的母字符串(也就是str)中某一个字符的下标位置,比如第一个Hello在

Hello world中 Hello的第一个字符H在第一位,因为从0开始算的,所以输出0。 而第二个因为在Hello world中查找World(注意大小写w),所以没有,大小写敏感的。所以返回-1,最后一个就不用解释了,空格也占用一个字符的位置

function getParameter(parName){ var str = parNametoLowerCase() + "=";

var gvalue = "";

var HREF = locationhref;

var upperHREF = locationhreftoLowerCase();

if(upperHREFindexOf(str)>0){

gvalue = HREFsubstring(upperHREFindexOf(str) + strlength,upperHREFlength);

if(gvalueindexOf('&')>0) gvalue = gvaluesubstring(0,gvalueindexOf('&'));

if(gvalueindexOf("#")>0) gvalue = gvaluesplit("#")[0];

}

return gvalue;

} //parName为要获取的参数名,如:id=getParameter("id")

var a="1234567";

indexof()就是判断一个字符串在另外一个字符串里面的位置(不存在返回-1) 内部实现方法 其实也很简单 就是把字符串分解为char数组 然后一个一个比较 得到了 就返回这个数组的索引。这种东西首先百度,然后自己把代码写出来运行一下不就知道了吗?

以上就是关于javascript数组有没有indexOf方法全部的内容,包括:javascript数组有没有indexOf方法、js中IndexOf()是干什么用的呢怎么用、js如何获取地址栏传递的参数值等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9300604.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-26
下一篇 2023-04-26

发表评论

登录后才能评论

评论列表(0条)

保存