線性表、陣列迭代
技術標籤:JavaScript 基礎知識javascriptjquery
文章目錄
前言
線性表:任何一個元素都可以明確地得知該元素的前一個元素和後一個元素。
線性表的長度:線性表中資料元素的個數。
迭代:根據迭代公式多次運算,且每一次運算的結果將作為下一次運算的初始值。
| 10 | 20 | 30 | 40 | 50 | var line=[10,20,30,40,50];
一、線性表
(1)線性表資料元素的查詢
例:從線性表中查詢40這個元素。若存在,則返回該元素的索引值;若不存在,則返回-1。
使用陣列的方法:line.indexOf(40)
var key=400;
var index=-1;
for(var i=0;i<line.length;i++){
if(line[i]==key){
index=i;
break;
}
}
console.log(index);
(2)線性表的增添
例:向線性表中40元素的前面新增新元素“A”。
使用陣列的方法:line.indexOf(40)
查詢40線上性表中的位置(index)
將新元素“A”新增到index位置處。
(3)線性表的刪除
例:從線性表中刪除元素40。
使用陣列的方法:line.splice(line.indexOf(40),1);
查詢40線上性表中的位置(index)
從線性表中刪除索引值為index的值。
因為刪除了一個元素,所以要修正線性表的長度。
line.length--;
(4)線上性表的末尾操作元素
1.末尾新增元素:
line[line.length]=1000;
2.末尾刪除元素:
line.length--;
二、陣列的迭代
reduce(function(acc,cur,index,array){ return 迭代公式; },initValue),讓陣列元素從左向右迭代。
reduceRight (function(acc,cur,index,array){ return 迭代公式; },initValue),讓陣列元素從右向左迭代。
(1)不書寫initValue的迭代運算
不書寫initValue的迭代運算,其第一次遍歷的index值從1開始,acc的初始值是陣列索
引值為0的元素。
var x=[1,2,3,4,5,6,7,8,9,10];
var sum=x.reduce(function(acc,cur,index,array){
return acc+cur;
})
console.log(sum); //55
(2)書寫initValue的迭代運算
書寫initValue的迭代運算,其第一次遍歷的index值從0開始,acc的初始值是initValue。
var x=[1,2,3,4,5,6,7,8,9,10];
var sum=x.reduce(function(acc,cur,index,array){
return acc+cur;
},100)
console.log(sum);