美文网首页
js 对象和数组常用方法

js 对象和数组常用方法

作者: 江湖小盛 | 来源:发表于2023-04-17 10:27 被阅读0次
    js对象遍历的方法:
    1、for...in 循环:用于遍历对象的可枚举属性,不包括继承的属性。
    for (let key in object) {
      if (object.hasOwnProperty(key)) {
        // do something with object[key]
      }
    }
    
    2、Object.keys() 方法:返回对象的所有可枚举属性组成的数组。
    Object.keys(object).forEach(function(key) {
      // do something with object[key]
    });
    
    3、Object.values() 方法:返回对象的所有可枚举属性的值组成的数组。
    Object.values(object).forEach(function(value) {
      // do something with value
    });
    
    4、Object.entries() 方法:返回对象的所有可枚举属性和值组成的键值对数组。
    Object.entries(object).forEach(function([key, value]) {
      // do something with key and value
    });
    
    5、Object.getOwnPropertyNames() 方法:返回对象的所有属性(包括不可枚举属性)组成的数组。
    Object.getOwnPropertyNames(object).forEach(function(key) {
      // do something with object[key]
    });
    
    js对象筛选方法:
    1、for...in 循环和 if 语句:通过遍历对象的属性,并判断属性值是否符合条件来筛选对象。
    let filteredObj = {};
    for (let key in originalObj) {
      if (originalObj[key] > 10) {
        filteredObj[key] = originalObj[key];
      }
    }
    
    2、Object.keys() 方法和 reduce() 方法:使用 Object.keys() 方法返回对象的属性组成的数组,然后通过 reduce() 方法筛选符合条件的属性。
    let filteredObj = Object.keys(originalObj).reduce(function(acc, key) {
      if (originalObj[key] > 10) {
        acc[key] = originalObj[key];
      }
      return acc;
    }, {});
    
    js 对象转数组的常用方法:
    1、使用 Object.keys() 方法获取对象的所有属性名称,再使用 Array.map() 方法将属性名称转换为属性值组成的数组:
    const obj = { a: 1, b: 2, c: 3 };
    const arr = Object.keys(obj).map(key => obj[key]);
    console.log(arr); // [1, 2, 3]
    
    2、使用 Object.values() 方法获取对象的所有属性值:
    const obj = { a: 1, b: 2, c: 3 };
    const arr = Object.values(obj);
    console.log(arr); // [1, 2, 3]
    
    3、使用 for...in 循环遍历对象的属性并将其添加到数组中:
    const obj = { a: 1, b: 2, c: 3 };
    const arr = [];
    for (let key in obj) {
      arr.push(obj[key]);
    }
    console.log(arr); // [1, 2, 3]
    
    4、使用 Array.from() 方法将类数组对象转换为数组:
    const obj = { 0: 'a', 1: 'b', 2: 'c', length: 3 };
    const arr = Array.from(obj);
    console.log(arr); // ['a', 'b', 'c']
    
    
    js 数组转对象常用方法:
    1、使用 Array.reduce() 方法将数组元素转换为对象属性和值:
    const arr = [['a', 1], ['b', 2], ['c', 3]];
    const obj = arr.reduce((acc, [key, value]) => ({ ...acc, [key]: value }), {});
    console.log(obj); // { a: 1, b: 2, c: 3 }
    
    const arr = [{ a: 1 }, { b: 2 }, { c: 3 }]
    const obj = arr.reduce((acc, cur) => {
      return {
        ...acc,
        ...cur
      }
    }, {})
    console.log(obj); // { a: 1, b: 2, c: 3 }
    
    2、使用 Array.forEach() 方法遍历数组元素并将其添加到对象中:
    const arr = [{ a: 1 }, { b: 2 }, { c: 3 }]
    const obj = {}
    arr.forEach((item, index) => {
      Object.assign(obj, item)
    })
    console.log(obj); // { a: 1, b: 2, c: 3 }
    
    js 数组最大值常用方法:
    1、使用 Math.max() 方法:将数组展开为参数,并传递给 Math.max() 方法,它将返回数组中的最大值。
    const numbers = [1, 2, 3, 4, 5];
    const maxNumber = Math.max(...numbers);
    console.log(maxNumber); // 输出 5
    
    2、使用 reduce() 方法:使用 reduce() 方法来迭代数组并返回最大值。
    const numbers = [1, 2, 3, 4, 5];
    const maxNumber = numbers.reduce((acc, cur) => {
      return acc > cur ? acc : cur;
    }, 0);
    console.log(maxNumber); // 输出 5
    
    const maxNumber = numbers.reduce((acc, cur) => {
      return Math.max(acc, cur)
    }, 0);
    console.log(maxNumber); // 输出 5
    

    相关文章

      网友评论

          本文标题:js 对象和数组常用方法

          本文链接:https://www.haomeiwen.com/subject/bpxcjdtx.html