js 对象和数组常用方法

2023-04-17  本文已影响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
上一篇下一篇

猜你喜欢

热点阅读