概述
1. Object.assign()
官方描述:如果目标对象中的属性具有相同的键,则属性将被源中的属性覆盖。后来的源的属性将类似地覆盖早先的属性。
简单来说,就是该方法有两个或或以上个参数,且参数都为json对象格式,后面的参数里面的属性值将覆盖前面第一个参数的相同属性的值,如果没有则新建一个属性值。且除了原先的对象会更改,还会新建一个对象,属于浅拷贝。
举例说明
var player = {score: 1, name: 'Jeff'};
var newPlayer = Object.assign({}, player, {score: 2});
// Now player is unchanged, but newPlayer is {score: 2, name: 'Jeff'}
若需要深拷贝则使用obj1=JSON.parse(JSON.stringify(obj))。
2. Array.forEach()
数组的遍历,比较简单,不解释了,写出来比for简洁很多
arr.forEach(function (key,index) {
if (key.value == m) {
//执行代码
}
})
3. Array.fll()
作用:使用固定值填充数组,嗯,用的比较少,但是不知道的话估计会写的很僵硬
var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.fill("Runoob");
// 输出 Runoob,Runoob,Runoob,Runoob
4. obj.hasOwnProperty(prop)用于判断obj中是否含有某个属性,返回true/false,比用遍历或者循环要方便很多。但几乎没见人用过。
o = new Object();
o.prop = 'exists';
function changeO() {
o.newprop = o.prop;
delete o.prop;
}
o.hasOwnProperty('prop'); // 返回 true
changeO();
o.hasOwnProperty('prop'); // 返回 false
5 value.toFixed(n)
保留n位小数,不解释
6 数组的随机排序
实现想法,对数组做一个遍历。假设数组内有十个值,每次随机生成一个十以内的数,然后用数组遍历的第i项与随机生成的第n项交换位置。
var arr = [1,2,3,4,5,6,7,8,9,10];
function randSort1(arr){
for(var i = 0,len = arr.length;i < len; i++ ){
var rand = parseInt(Math.random()*len);
var temp = arr[rand];
arr[rand] = arr[i];
arr[i] = temp;
}
return arr;
}
还有一个数组的方法也能实现 sort
arr.sort(function(){
return Math.random() - 0.5;
})
最后
以上就是阔达纸飞机为你收集整理的【js进阶】深浅拷贝,随机排序,遍历循环的全部内容,希望文章能够帮你解决【js进阶】深浅拷贝,随机排序,遍历循环所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复