数组操作
arr = [1,2,3,4,5,6,7]
arr.unshift()//数组前插
arr.shift()//删除第一个元素
arr.pop()//删除最后一个元素
arr.push()//数组尾部插入
//数组合并
arr.concat(arr)
//数组分割
arr.splice(1)//只有一个值时,从当前位置删除到数组末尾
arr.splice(m,k)//从m位置开始,删除k个
//有三个或者多个值时,第一个值为插入元素的位置,第二个值为替换的个数,后面的值都为插入的新元素;
arr.splice(2,1,6,7,8);//从索引值2开始替换掉1个元素,并且插入6,7,8
//如果第二个值为0,则不替换,直接插入6,7,8;
//slice slice(开始位置,结束位置);
let copyArr=arr.slice(); // slice()或者slice(0)都可以复制数组;
let newArr=arr.slice(1,3);//截取索引1到索引3(不包括3)的值;
//join
let newArr=arr.join()//默认用逗号连接 newArr=1,2,3,4,5,6,7;
//如果连接符为空字符串,则会无缝连接
arr.join('');//输出为1234567;
//sort() 正序排序
arr.sort()
//reverse()数组反转
arr.reverse()
//数组各项减一
this.pageArray = this.pageArray.map(function(ele:any){
return ele - 1
})
数组去重
Set去重
//Set去重,不能对数组中的对象(引用数据类型)去重
const arr = [1,2,3,4,5,6,7,7,8,8,9,9,0,0,'a','a','b','b'];
const setData = new Set(arr);
console.log(setData);
const objarr = [{'a':1,'b':2,'c':3}, {'a':1,'b':2,'c':3}];
const setData2 = new Set(objarr);
console.log(setData2);
indexOf去重
var arr=[2,8,5,0,5,2,6,7,2];
function arrUnique(arr){
let arru = [];
for(let i = 0; i < arr.length;i ++) {
if(arru.indexOf(arr[i]) == -1) {
arru.push(arr[i]);
}
}
console.log(arru);
return arru
}
arrUnique(arr);
includes去重
var arrinc = [1,2,3,4,5,6,7,7,8,8,'a','a','b','b'];
function handleArr(arr){
let arru = [];
for (let i = 0; i < arr.length; i ++) {
if (!arru.includes(arrinc[i])){
arru.push(arrinc[i]);
}
}
return arru;
}
console.log(handleArr(arrinc));
对象去重
数组之和
var arr = [1,2,3,2,3];
function sum(total,value){
return total +=value;
}
var total = arr.reduce(sum);
console.log(total);
数组筛选filter
var arr = [1,2,3,2,3];
var a = arr.filter(x => x>2);
console.log(a);
数组正序,反序排列
var fruits = ["Banana", "Orange", "Apple", "Mango"];
console.log(fruits.sort());
console.log(fruits.sort().reverse());
题目:写一个随机程序,使得1,2,3,4的出现概率为1/8,5,6的概率为1/4。
var arr = [1,2,3,4,5,6,7,8];
var index = Math.floor((Math.random()*arr.length));
var a = arr[index]
switch(a){
case 1:a = 1;break;
case 2:a = 2;break;
case 3:a = 3;break;
case 4:a = 4;break;
case 5:
case 6:a = 5;break;
case 7:
case 8:a = 6;break;
}
console.log(a)
JavaScript二位数组降维的几种方法
1循环遍历实现的降维
var arr = [['h','w','s','f'],['d','x'],['q','t','e']];
var result =[];
for (var i=0;i<arr.length;i++){
for(var j =0;j<arr[i].length;j++){
result.push(arr[i][j]);
}
}
console.log(result);
结果显示为
>>"h,w,s,f,d,x,q,t,e"
2 concat实现多数组的连接
concat() 方法用于连接两个或多个数组。该方法不会改变现有的数组,而仅仅会返回被连接数组的一个副本。
var arr = [['h','w','s','f'],['d','x'],['q','t','e']];
var result =[];
for (var i=0;i<arr.length;i++){
result=result.concat(arr[i]);
}
console.log(result);
5404

被折叠的 条评论
为什么被折叠?



