1. 程式人生 > 其它 >線性表、陣列迭代

線性表、陣列迭代

技術標籤: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);


總結

(1)所有的線性表操作都是基於查詢來實現的。 (2)增添和刪除操作的本質就是按照順序挪動元素。