在某网课学习前端笔记整理js篇21-数组方法的进制转换例子、数组的一些方法

数组方法的进制转换例子、数组的一些方法

####一、数组方法的运用例子

toString()也可以进行进制转化,参数是2-36.

example1

//用数组的方法实现进制转化 base必须是2-36,num为整数
function convertNum(num,base){
  var arr = [0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z];
  var str = '';
  var arr = [];
  while(num > 0){
    arr.unshift(num % base);
  	num = num / base;      
  }
  return arr.join("");
}
console.log(convertNum(28,16));//1c

二、数组的一些方法

forEach(function(item,index,array)): 遍历数组。

example2

var arr = [1,2,3,4,5];
var temp = arr.forEach(function(item,index,array){
  console.log(item,index,array);
  array[index] = item + 1;
});
//1 0 (5) [1, 2, 3, 4, 5]
//2 1 (5) [2, 2, 3, 4, 5]
//3 2 (5) [2, 3, 3, 4, 5]
//4 3 (5) [2, 3, 4, 4, 5]
//5 4 (5) [2, 3, 4, 5, 5]
console.log(temp);//undefined
console.log(arr);//[2,3,4,5,6]

fill(item,index): 从下标index开始,替换后面所有元素为item。

example3

var arr = [1,2,3,4,5];
var temp = arr.fill('a');
console.log(temp);//["a", "a", "a", "a", "a"]
console.log(arr);//["a", "a", "a", "a", "a"]
arr.fill("b",1);
console.log(arr);// ["a", "b", "b", "b", "b"]

filter(function(item,index,array)): 过滤所有返回true的元素,然后合成新的数组返回。

example4

var arr = [1,2,3,4,5];
var temp = arr.filter(function(item,index,array){
  return item % 2 ;
});
console.log(temp);//[1,3,5]
console.log(arr);//[1,2,3,4,5]

**map(function(item,index,array)):**对数组每个元素做处理,参数函数返回值为每个元素的处理值。该方法不会改变原有数组,只是将处理过后的每个元素放到一个新的数组并返回该数组。forEach虽然也能对数组每个元素做处理,但会改变原有的数组。

example5

var arr = [1,2,3,4,5];
var temp = arr.map(function(item,index,array){
  return item * 2 ;
});
console.log(temp);//[2, 4, 6, 8, 10]
console.log(arr);//[1, 2, 3, 4, 5]

reduce(function(prev,cur,curindex,array),init): 迭代处理。如果init没有值,第一次迭代的prev和cur分别是前两个元素;如果有值,则第一次迭代的prev和cur是init和数组的第一个元素。迭代的返回值会作为下次迭代的prev参数。

example6

var arr = [1,2,3,4,5];
var temp = arr.reduce(function(prev,cur,curindex,array){
  console.log(prev,cur);
  return prev + cur;
},0);
//0 1
//1 2
//3 3
//6 4
//10 5
console.log(temp);//15
console.log(arr);//[1,2,3,4,5]
temp = arr.reduce(function(prev,cur,curindex,array){
  console.log(prev,cur);
  return prev + cur;
});
//1 2
//3 3
//6 4
//10 5
console.log(temp);//15

reduce() 方法记录字符串的字符个数例子。

example7


var str = "aaabbcsddeefff";
function calcuCharNum(str){
  var arr = str.split("");
  var obj = arr.reduce(function(prev,cur,curindex,array){
   	return prev[cur] === undefined ? prev[cur] = 1 : ++prev[cur],prev;
  },{});
  return obj;
}
console.log(calcuCharNum(str));//{a: 3, b: 2, c: 1, s: 1, d: 2, …} 这是一个js对象
发布了27 篇原创文章 · 获赞 0 · 访问量 217

猜你喜欢

转载自blog.csdn.net/qq_34338676/article/details/104715729