8.31js学习day07

一、输出数组最大差值
1.Array.prototype.outputMaxPrice = function outputMaxPrice (array) {
/* 求一组数中最大值和最小值直接使用内置对象函数Math中的min()和max()方法即可。
注意,apply方法的第二个参数必须是一个数组,第二个参数用来替换原函数的参数
apply用于更改this指向,但这道题我们是不需要的,我们只需要将math.max及math.min应用到数组上即可 */
  const item1 = Math.max.apply( null, array );
  const item2 = Math.min.apply( null, array );
// const item1 = Math.max(10,5,11,7,8,9);
// const item2 = Math.min(10,5,11,7,8,9);

return item1 - item2;
}

2.const array = new Array;
var arr = [10,5,11,7,8,9]

var result = array.outputMaxPrice (arr) // 6
console.log(result);

二、数组升序排列
var arr = [1, 2, 3, 6, 10, 5];
console.log(arr.sort(function(a, b) {
return a - b //[ 1, 2, 3, 5, 6, 10 ]
}))
console.log(arr.sort(function(a, b) {
return b - a
}))

三、迭代的应用
//1.有没有成年人
var bool = stus.some(function(value){
return value.age>=18;
});
console.log(bool);
//2.有没有未成年人
var bool=stus.some(function(value){
return value.age<18;
});
//3.是否都成年
var bool=stus.every(function(obj){
return obj.age>=18;
});
//4.把未成年人找到
var arr=stus.filter(function(obj){
return obj.age<18;
});
console.log(arr);
//5.找到所有的用户名 obj.name
var arr=stus.map(function(obj){
//return obj.name;
return ‘work_’+obj.name;
});
console.log(arr);
//6.找到所有的年龄 obj.age
var arr=stus.map(function(obj){
return obj.age;
});
console.log(arr);
//7.按照td格式输出打印
arr.forEach(function(value){
console.log(""+value+"");
});

四、查找
var arr=[100,200,300,100,200,300,400];
var r1=arr.indexOf(100);//0
var r2=arr.indexOf(100,2);//3
var r3=arr.indexOf(600);//-1
var r4=arr.lastIndexOf(100);//3
console.log(r1,r2,r3,r4);
var r5=arr.indexOf(‘100’);//-1
console.log(r5);
var ob={name:‘ww’,age:400};
var arr=[
{name:‘zs’,age:100,valueOf:function(){return 1},toString:function(){return ‘a’}},
{name:‘ls’,age:200},
{name:‘zz’,age:300},
ob
];
var r=arr.indexOf({name:‘zs’,age:100,valueOf:function(){return 1},toString:function(){return ‘a’}});
console.log®;
var r2=arr.indexOf(ob);
console.log(r2);

五、增删数据
//Array.prototype.concat(另一个数组)
返回值就是拼接后的数组 原数组不会受影响
//功能:数据项的简单一个层次的拼接
var arr=[100,200];
var result1=arr.concat(300);
var result2=arr.concat(‘hello’,‘world’);
var result3=arr.concat([1,2,3]);
console.log(arr,result1,result2,result3);
var arr2=[100,200,300,400,500];

//Array.prototype.slice(index_start,index_end);
//如:slice(0) slice(0,3) slice(3,5)
//截取数据项[start,end) = arr2.slice(x,y); 原数组不受影响
var r4=arr2;//简单的地址值的复制,浅拷贝,指向的是同一片内存空间
var r1=arr2.slice(0);//arr2堆中的数据==>r1堆中 深拷贝 指向的不是同一个内存空间
var r2=arr2.slice(0,3);//100,200,300
var r3=arr2.slice(3,5);//400,500
console.log(arr2,r1,r2,r3);
arr2.push(600);
r1.pop();
console.log(r4,arr2,r1);

//Array.prototype.splice()
原数组受影响,返回值就是删除掉的数据项
//Array.prototype.splice(index_start,count);删除
1.var arr3=[100,200,300,400];
var r1=arr3.splice(1,2);
console.log(arr3,r1);
var arr3=[100,200,300,400];
var r1=arr3.splice(0,arr3.length);//深度拷贝后 清空原数组
console.log(arr3,r1);

2.var arr3=[100,200,300,400];
//var r1=arr3.splice(1,0);
var r1=arr3.splice(7,3);
console.log(arr3,r1);//原样 []

3.var arr3=[100,200,300,400];
var r1=arr3.splice(-3,3);//索引是负值,就是倒序去查找
console.log(arr3,r1);

//Array.prototype.splice(index_start,count,新增的数据项s); 插入或者替换
var arr3=[100,200,300,400];
var r1=arr3.splice(1,2,‘a’,‘b’,‘c’);//替换
console.log(arr3);
var arr3=[100,200,300,400];
var r2=arr3.splice(1,0,‘a’,‘b’,‘c’);//插入
console.log(r1,r2);
console.log(arr3);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值