Object - daniel-qa/Vue GitHub Wiki

Object

  • 基本格式
const data = {
  sub: "a",
  title: "MyTitle",
  body: "Hello World",
};

Mapping 的方法

// 定義中介函式
const mapItemToGeoFormat = (item ) => {
    return {
        countryId: item.countryId || "TW", // 默認為 "TW"
        provinceId: item.provinceId || null, // 默認為 null
        cityId: item.cityId || "30", // 默認為 "30"
        type: item.type // 使用 item.type 的值
    };
};

在 JavaScript 中,如果 item 是一个对象,你可以使用以下几种方法查看对象中有多少元素(键值对):

方法 1:Object.keys

Object.keys 方法会返回对象中所有可枚举属性的键,并以数组的形式返回。通过检查数组的长度即可得知有多少元素。

const item = { a: 1, b: 2, c: 3 };
const elementCount = Object.keys(item).length;
console.log(elementCount); // 输出 3

方法 2:Object.entries

Object.entries 返回一个数组,其中包含对象的键值对。你也可以用数组的长度来查看有多少元素。

const item = { a: 1, b: 2, c: 3 };
const elementCount = Object.entries(item).length;
console.log(elementCount); // 输出 3

方法 3:for...in 计数

通过 for...in 循环遍历对象属性,同时手动计数。

const item = { a: 1, b: 2, c: 3 };
let count = 0;
for (const key in item) {
  if (item.hasOwnProperty(key)) {
    count++;
  }
}
console.log(count); // 输出 3

注意事项

如果对象包含不可枚举属性(enumerable: false),Object.keys 和 for...in 不会包含这些属性。

如果对象有原型链上的属性,for...in 会遍历到原型链上的属性,但你可以使用 hasOwnProperty 来过滤。

你可以根据实际需求选择适合的方式来获取对象的元素个数。