文章目录
前言
线性表:任何一个元素都可以明确地得知该元素的前一个元素和后一个元素。
线性表的长度:线性表中数据元素的个数。
迭代:根据迭代公式多次运算,且每一次运算的结果将作为下一次运算的初始值。
| 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);