js片段

1.完成一个类Box,实例化的时候给他传入一个数组,使Box的实例支持for in循环;

class Box{
    constructor(array) {
        // 判断传入的是否是数组
        if(Array.isArray(array)){
            this.arr = array;// ...
        }else{
            this.arr = [];
        }
    }

    toCircle() {
        for(var i=0; i< this.arr.length; i++){
            console.log(this.arr[i]);
        }
    }
}
var a = new Box([1,2,3])
a.toCircle();

注:判断obj是否是数组的几种方法
1.Array.isArray(obj);调用数组的isArray方法
2.obj instanceof Array;判断对象是否是Array的实例
3.Object.prototype.toString.call(obj) ===‘[object Array]’;
Object.prototype.toString方法会取得对象的一个内部属性[[Class]],然后依据这个属性,返回一个类似于[object Array]的字符串作为结果,call用来改变toString的this指向为待检测的对象
4.obj.constructor===Array;判断obj的原型链上是否有array方法

2.JS判断数组或者一个字符串中出现次数最多的元素及其出现的次数

思路:
1.将该数组或字符串转换成json对象,键为元素内容,值为出现次数;如:[1,2,2,3,3,]变为{'1':1,'2':2,'3':2}
2.对转换后的对象进行遍历,值最大的键值对即为出现次数最多的元素和次数
function maxCountElement(arr) {  
   var obj={};
    // 数组转换成json
   for(var i=0;i 0){
    for(var j=0;j

你可能感兴趣的:(js片段)