js面試必備知識

一 數據類型

(一)總共有7種原始類型

1.number
2.string
3.boolean
4.null(typeof object)
5.undefined
6.object(引用類型,至關於變量名存着的是地址,都是以鍵值對的方式存在,均可以用鍵操做相應的值)
7.symbol(es6新加,產生的值獨一無二)es6

(二)檢查數據類型

1.typeof
七大原始類型,除了null和object
object小類型中的function也能夠檢查json

2.Object.prototype.toString.call(data)
null和object和屬於object的小類型(array,set,map,function)數組

二 數組(包括json)最簡單的操做方法(原生)

1.求數組的最大值

Math.max(...arr)
//json的某個屬性的最大值
arr=[
  {a:1},
  {a:3},
  {a:2}
]
arr.reduce((prev,cur)=>prev.a>cur.a?prev:cur).a

2.求數組的最小值

Math.min(...arr)
//json的某個屬性的最小值
arr=[
  {a:1},
  {a:3},
  {a:2}
]
arr.reduce((prev,cur)=>prev.a<cur.a?prev:cur).a

3.數組包含某個元素

//判斷兩個對象是否相等
function diff(obj1,obj2){
    let cdt1=obj1 instanceof Object
    let cdt2=obj2 instanceof Object
    if(!cdt1 && !cdt2){
      return obj1===obj2
    }else if(!(cdt1 && cdt2)){
      return false
    }else{
      if(Object.keys(obj1).length!=Object.keys(obj2).length){
          return false
        }else{
          for(let key in obj1){
              if(!diff(obj1[key],obj2[key])){
                  return false
                }
            }
            return true
        }
    }
}
相關文章
相關標籤/搜索