js随笔

一、两种创建数组的方法

1)常见的:
var arr = [1,2,3];
2)高逼格创建方法:
var arr = new Array(3);
arr[0] = 1;
arr[1] = 2;
arr[2] = 3;
console.log(arr);

二、把数组转换成字符串

var arr = [1,2,3];
var str = arr.join('+'); //输出为1+2+3;

三、怎样根据数组的长度与下标来找数组最后一位数值

var  i = ['1','2','3','4'];
var len =i.length;   //先把数组的length长度转化出来;
console.log(i[len-1]);  //length-1就是找到最后一位数值的下标;

四、怎样在数组最后一位增加数值和删减数值

var aa =['1','2','3','4']
var shajian = aa.pop(); //把数组中的最后一个值给删掉;
console.log(shajian);  
console.log(aa);  //此时输出 pop 会输出删完之后的数组;

var bianliang = aa.push('hahaha','riririr');  //在数组的末端增加()里面的内容成为一个新数值;
console.log(bianliang);  
console.log(aa);  //输出 push 会输出增加之后的数组;

五、怎样在数组始端增加一位数值和删减数值

var bb = ['11','22','33','44'];
var bt = bb.shift();  //在数组始端减掉一个数值;
console.log(bb);  
console.log(bt);  //此时输出 shift 会输出被减掉的那个数值;


var bl = bb.unshift('aaaa','bbbb');  //在数组始端增加两个数值;
console.log(bl);  //此时输出 unshift  会显示增加之后的数组的长度(length);
console.log(bb);  //此时输出 数组  显示为增加之后的数组;

六、怎样把数组倒序显示

var arr = new Array(3);
arr[0] = 'one';
arr[1] = 'two';
arr[2] = 'thre';
console.log(arr);
console.log(arr.reverse());

七、怎样把两个数组相加

var abc = ['1','2','3'];
var cba = ['3','2','1'];
var sum = abc.concat(cba);   //将两个数组相加起来;
console.log(sum);

八、slice与splice的作用性

1)slice
var asd = ['1','2','3','4','5','6','7'];
var sli = asd.slice(0,4);  //将数组进行裁剪复制,根据下标进行位置寻找,从0-4中的数值,但是不包括第四个;
console.log(asd);  //不会改变原来的数组,相当于粘贴复制;
console.log(sli);
2)splice
var fgh = ['1','2','3','4','5','6','7'];
var spli = fgh.splice(0,4);  //将数组进行裁剪,第一个值是从第0个下标开始,后面的值是裁剪几个;
console.log(fgh);  //会改变原来的数组,裁剪几个  就去掉几个;
console.log(spli);

九、怎样有针对性的找到某一个数值的下标

1)indexOf
 var aaa = ['9','9','1','2','3','4','9'];
 var bbb = aaa.indexOf('9',2);  //找数组中是9的数值,(9,2)第一个是找什么数,第二个是从下标第几个开始找;
 console.log(bbb);                 //然后输出返回为1的数的下标;
2) lastIndexOf
var aaa = ['9','9','1','2','3','4','9'];
var ccc = aaa.lastIndexOf('1',5); //找数组中是1的数值,(1,5)第一个是找什么数,第二个值是找到下标为5的数,然后从下标为5的数从右向左找为1的数,返回第一个。

console.log(ccc);

十、迭代方法,对数组进行筛选判断,自带循环;

我们先来定义一个数组

var d = [2,4,4,4,4,2]
1)every
var ev = d.every(function (item,index,array) {
  return (item > 2);  //对数组的每一个数值进行条件筛选,只有都>2时,都为true时,最后输出结果才返回true;
});
2)some
var som = d.some(function (item,index,array) {
 return (item > 2)  //对数组的每一个数值进行条件筛选,只要有一个数值满足条件,就会返回true;
})
console.log(ev);
3)filter
var fil = d.filter(function (item,index,array) {
  return (item > 3)  //对数组的每一个数值进行条件筛选,把满足条件的数值组合成一个新的数组;不会改变原来的数组;
})
console.log(fil);
4)map
var ma = d.map(function (item,index,array) {
  return (item * 3)  //对数组的每一个数值与条件进行计算,返回计算过后的结果,组成新的数组;
})
console.log(ma);
5)forEach
var fo = d.forEach(function (item,index,array) {
  return (item * 3)  //该方法没有返回值;
})
console.log(fo);
6)reduce
var re = d.reduce(function (prev,cur,index,array) {
  return prev+cur;  //会对每一个数值进行相加,2+4=6 +4=10 +4=14 +4= 18...+2=...
})
console.log(re);
7)reduceRight
var rer = d.reduceRight(function (prev,cur,index,array) {
 return prev+cur;  //会对每一个数值进行相加从有向左依次相加;
})
console.log(rer);

你可能感兴趣的:(js随笔)