Object的遍历和es6切割数组字符串的方法

ES6的Object的遍历

1、获取对象的key

Object.keys方法,返回一个数组成员是参数对象自身的(不含继承的)所有可遍历(enumerable)属性的键名

 2、获取对象的value

Object.values()方法返回一个数组,成员是参数对象自身的(不含继承的)所有可遍历属性的键值Object.values()会过滤属性名为Symbol值的属性。

会发现 顺序不同!因为顺序遵循属性的遍历的规则

如果Object.values()方法的参数是一个字符串,会返回各个字符组成的一个数组。

上面代码中,字符串会先转成一个类似数组的对象。字符串的每个字符,就是该对象的一个属性。因此,Object.values返回每个属性的键值,就是各个字符组成的一个数组

3、拿到对象的键值对

Object.entries()

4、自己实现Object.entries()

  let myEntries = (obj) => {
    let objType = typeof (obj);
    if (obj === undefined || obj === null) {
      throw new TypeError();
    }
    if (objType === 'number' || objType === 'boolean') {
      return []
    };
    let ans = []
    if (objType === 'object') {
      for (let key of Object.keys(obj)) {
        ans.push([key, obj[key]]);
      }
    }
    return ans;
  }
  let objDemo = {
    name: 'zhangsan',
    age: 18,
    sex: 'woman'
  }
  console.log(myEntries(objDemo));

ES6中切割字符串的和数组方法

1substring只能操作字符串)

substring(start,stop)表示返回从start开始到stop处之间的新字符串,其长度为stop减 start。包含start,但不包含stop且不修改原字符串

如果 start比stop大,那么方法在执行前会先交换这两个参数。

如果 start与stop相等

如果 start或stop为负数,那么方法在执行前会先将负数变为0。

2、substr只能操作字符串)

substr(start,length)表示返回从start开始包含length长度的新字符串,包含start,且不修改原字符串

与substring相比,第二个参数由代表结束的下标stop变成了规定新字符串长度的length

 如果length不填,那表示从start截取到字符串结尾

如果start为负数,那么start=str.length+start

如果length为负数或者0,那么返回空字符串

3、slice()可操作数组和字符串

slice(start,stop)表示截取从下标start 到下标stop(不包括该元素)的之间的元素,并返回新数组/新字符串

 

如果stop不填,那表示从start截取到数组结尾/字符串结尾

start比stop大(不会互换),或start与stop相等,则截取的为空

start或者stop为负数,那么负数的选项从数组尾部开始算起的位置,最后一个数字为-1,倒数第二个数字为-2

 4、splice() (只能操作数组)

splice(start,length,items)表示从下标start处截取length长度(与substr有点像)的元素后,在start处为原数组添加items,并返回被截取的新数组,splice会直接修改原数组,例如:

其中start和length为必填项,items为选填项,如果length为0或者负数,则返回空数组

如果start为负数,则原理和slice负数从右往左截取,最后一位数字为-1,倒数第二位为-2

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值