小总结,js基础概念-数组

2018-11-06  本文已影响0人  初入前端的小菜鸟

js基本数据类型

typeof运算符,确定一个值是何种类型

流程控制语句

if(){ }else if { }else{ }
switch case default - break | continue
while(){}
do{}while()
for ..in
小练习,通过for...in来实现浅拷贝与深拷贝

//浅拷贝
//hasOwnProperty  判断自身属性中是否有指定的值
function shallowCopy(oldObj) {
      var newObj = { }
      for( var i in oldObj) {
            if(oldObj.hasOwnProperty(i)) {
                  newObj[i] = oldObj[i]
            }
    }
    return newObj
}
// 详解,通过枚举,获取到对象里面的健值对,通过hasOwnpropetry(i)来判断i 是否是oldObj中的内容,如果是将其赋值给newObj中
深拷贝
function deepCold(obj) {
    var newObj = {} 
    for(var i in obj) {
        if(typeof obj[i] === 'object' ) {
            newObj[i] = deepCold(obj[i])
        }eles {
            newObj[i] = obj[i]
        }
    }
    return newObj
}

为什么多了一步判断是否为对象呢
var obj = {
    name: 'abc',
    age: 12,
    aihao: {
        one: '羽毛球',
        two: '乒乓球'
    }  // 进行回调,进一步拷贝其中的aihao里的内容
}

对象

对象: 由若干个健值对组成

JSON

JSON.stringify()可以将一个值转为字符串
JSON.parse()还原

Array

push,数组最后一位添加元素
pop,删除最后一位
unshift,像数组第一位进行添加
shift,删除第一位
splice- splice(a,b,c)-a代表数组的下标,b代表要删除几位(不删除就用0来表示),c指要替换的内容
slice(a,b)用下标a开始,到下边b(不包括下标b),作为新数组,原数组不变
reverse(),对数组进行倒叙,数组本身发生改变
join()-作用是把数组元素(对象调用其toString()方法)使用参数作为连接符连接成一字符串,不会修改原数组内容
sort-排序,本身发生改变
concat-拼接数组
index(element)/lastindexof(element)检索数组内容的下标,从左开始/从右开始
forEach遍历数组
map遍历数组,生成新数组
every-是所有函数的回调函数都返回true,则返回true;否则遇到false则终止执行,返回false
some-回调函数有一个返回true,则返回true
filter(function(element))-返回数组的子集,true放进去
reduce(function(v1,v2),value)/reduceRight(function(v1,v2),value)-遍历数组,调用回调函数,将数组元素组合成一个值,reduce从索引最小值开始,reduceRight反向,方法有两个参数

  1. 回调函数:把两个值合为一个,返回结果
  2. value,一个初始值,可选
上一篇 下一篇

猜你喜欢

热点阅读