數組indexOf(arg) 和 lastIndexOf(arg)方法使用
<script type="text/javascript" charset="utf-8">/*** indexOf(arg):返回指定參數在數組中的索引位置(從前往后查,比較是使用 ‘===’,查詢到立即返回索引位置),如果沒有則返回 -1* * lastIndexOf(arg):從后往前查arg,如果查詢到則立即返回對應的索引值,如果沒有則返回 -1* * 注:數組的索引位置都是從 0 開始索引*/var arr=[1,734,23,7,90,4,true,12,1,0,23];console.log("【arr】: "+arr);console.log("【arr.indexOf(23)】:"+arr.indexOf(23));console.log("【arr.indexOf(true)】:"+arr.indexOf(true));var arr=[1,2,3,4,5,4,3,2,1];console.log("【arr】: "+arr);console.log("【arr.lastIndexOf(3)】: "+arr.lastIndexOf(3));console.log("【arr.lastIndexOf(10)】: "+arr.lastIndexOf(10));/********************* 【開始】運行結果 ********************【arr】: 1,734,23,7,90,4,true,12,1,0,23【arr.indexOf(23)】:2【arr】: 1,2,3,4,5,4,3,2,1【arr.lastIndexOf(3)】: 6【arr.lastIndexOf(10)】: -1 ********************* 【結束】運行結果 ********************/</script>
數組every迭代
<script type="text/javascript" charset="utf-8"> /*** 數組五個新的迭代方法(ECMA5 數組新特性):every、filter、some、reduce、reduceRight* every:循環迭代并回調every參數中函數,循環迭代函數處理的結果如果都為true則返回true,否則返回false(類似于邏輯關系&&)* * @return boolean*/var arr=[87,12,9,5,34,5,0];var result=arr.every(function(item,index,arr){// item:循環迭代到的值// index:循環迭代到的索引位置// arr:循環的數組console.log("item: "+item+" ,index: "+index+", arr: "+arr);return item>3;});console.log("arr: "+arr); console.log("arr.every(): "+result); /********************* 【開始】運行結果 ********************item: 87 ,index: 0, arr: 87,12,9,5,34,5,0item: 12 ,index: 1, arr: 87,12,9,5,34,5,0item: 9 ,index: 2, arr: 87,12,9,5,34,5,0item: 5 ,index: 3, arr: 87,12,9,5,34,5,0item: 34 ,index: 4, arr: 87,12,9,5,34,5,0item: 5 ,index: 5, arr: 87,12,9,5,34,5,0item: 0 ,index: 6, arr: 87,12,9,5,34,5,0arr: 87,12,9,5,34,5,0arr.every(): false********************* 【結束】運行結果 ********************/</script>
數組filter迭代
<script type="text/javascript" charset="utf-8"> /*** filter:循環迭代數組中符合條件的數據(返回符合篩選條件的元素,不影響被操作的對象)* * @return [符合篩選條件的元素,符合篩選條件的元素、、、]*/var arr=[87,12,9,5,34,5,0];var result=arr.filter(function(item,index,arr){return item>10;});console.log("arr: "+arr);console.log("arr.filter(): "+result);/********************* 【開始】運行結果 ********************arr: 87,12,9,5,34,5,0arr.filter(): 87,12,34********************* 【結束】運行結果 ********************/</script>
數組some迭代
<script type="text/javascript" charset="utf-8"> /*** some:循環迭代并運行函數中的回調函數,若回調參函數運行結果含義true則返回true,否則返回false(類似于邏輯關系 || )* * @return boolean*/var arr=[87,12,9,5,34,5,0];var result=arr.some(function(item,index,arr){return item<3;});console.log("arr: "+arr);console.log("arr.some(): "+result);/********************* 【開始】運行結果 ********************arr: 87,12,9,5,34,5,0arr.some(): true********************* 【結束】運行結果 ********************/ </script>
數組reduce迭代
<script type="text/javascript" charset="utf-8"> /*** reduce: 從左往右順序迭代(默認從索引1位置開始順序迭代)* * @param {Object} pre 上一次循環迭代的返回值* @param {Object} cur 循環迭代當前的值(默認從索引1位置開始順序迭代)* @param {Object} index 循環迭代處的索引位置* @param {Object} array 循環迭代的對象*/var arr=[87,12,9,5,34,5,0];var result=arr.reduce(function(pre,cur,index,array){console.log("index:"+index+" , pre:"+pre+" , cur:"+cur+" , array:"+array);return pre+cur;});console.log("result: "+result);/********************* 【開始】運行結果 ********************index:1 , pre:87 , cur:12 , array:87,12,9,5,34,5,0index:2 , pre:99 , cur:9 , array:87,12,9,5,34,5,0index:3 , pre:108 , cur:5 , array:87,12,9,5,34,5,0index:4 , pre:113 , cur:34 , array:87,12,9,5,34,5,0index:5 , pre:147 , cur:5 , array:87,12,9,5,34,5,0index:6 , pre:152 , cur:0 , array:87,12,9,5,34,5,0result: 152********************* 【結束】運行結果 ********************/ </script>
數組reduceRight迭代
<script type="text/javascript" charset="utf-8"> /*** reduceRight: 從右往左順序迭代(默認從數組倒數第二個元素位置開始從右往左順序迭代)* * @param {Object} pre 上一次循環迭代的返回值* @param {Object} cur 循環迭代當前的值(默認從數組倒數第二個元素位置開始從右往左順序迭代)* @param {Object} index 循環迭代處的索引位置* @param {Object} array 循環迭代的對象*/ var arr=[87,12,9,5,34,5,0]; var result=arr.reduceRight(function(pre,cur,index,array){console.log("index:"+index+" , pre:"+pre+" , cur:"+cur+" , array:"+array);return pre+cur;});console.log("result: "+result);/********************* 【開始】運行結果 ********************index:5 , pre:0 , cur:5 , array:87,12,9,5,34,5,0index:4 , pre:5 , cur:34 , array:87,12,9,5,34,5,0index:3 , pre:39 , cur:5 , array:87,12,9,5,34,5,0index:2 , pre:44 , cur:9 , array:87,12,9,5,34,5,0index:1 , pre:53 , cur:12 , array:87,12,9,5,34,5,0index:0 , pre:65 , cur:87 , array:87,12,9,5,34,5,0result: 152********************* 【結束】運行結果 ********************/ </script>