03——常见的接口数据处理

38 阅读2分钟

1.提取地址信息;

var` `add1 = ``'四川省成都市都江堰市天马镇34号'``;
var` `add2 = ``'北京市北京市东城区前门大街1号'
var` `add3 = ``'新疆维吾尔自治区乌鲁木齐市天山区中山路479号'``;
var` `add4 = ``'四川省成都市双流县幸福社区23号'``;
var` `add5 = ``'香港特别行政区中西区尖沙嘴路'``;
var` `reg = /.+?(省|市|自治区|自治州|县|区)/g;
​
console.log(add1 + ``': '``, add1.match(reg));
console.log(add2 + ``': '``, add2.match(reg));
console.log(add3 + ``': '``, add3.match(reg));
console.log(add4 + ``': '``, add4.match(reg));
console.log(add5 + ``': '``, add5.match(reg));

返回结果:

image.png

2.vue递归查找id对应的对象

在 Vue 中,可以使用递归方法来查找具有指定 id 属性的对象。以下是一个简单的示例:

// items 数据结构示例
const items = [
{
   id: 1,
   name: 'Item 1',
   children: [
    {
       id: 2,
       name: 'Item 1-1'
    },
    {
       id: 3,
       name: 'Item 1-2',
       children: [
        {
           id: 4,
           name: 'Item 1-2-1'
        }
      ]
    }
  ]
},
{
   id: 5,
   name: 'Item 2'
}
];
​
function findItemById(id, data) {
 for (let item of data) {
   if (item.id === id) {
     return item;
  }
​
   if (item.children) {
     const result = findItemById(id, item.children);
     if (result) {
       return result;
    }
  }
}
​
 return null;
}
​
const item = findItemById(4, items);
console.log(item); // { id: 4, name: 'Item 1-2-1' }

在上述代码中,我们定义了一个名为 findItemById 的递归函数,该函数接受两个参数:要查找的 id 和数据源 data。函数首先遍历数据源中的每个元素,如果找到与指定 id 相等的元素,则直接返回该元素;否则,如果当前元素包含子元素,则递归调用自身,并传入子元素数组作为数据源。如果在任何层次上找到了匹配的元素,则将其返回;否则,返回 null

3.数组对象排序

在 Vue 中,可以使用 Array 原生的 sort() 方法来对数组对象进行排序。以下是一个简单的示例:

// 数据结构示例
const items = [{ id: 1, name: 'Item 1', price: 20 },{ id: 2, name: 'Item 2', price: 10 },{ id: 3, name: 'Item 3', price: 15 }];
​
// 按价格从低到高排序
items.sort((ab) => a.price - b.price);
​
console.log(items);
// [{ id: 2, name: 'Item 2', price: 10 }, { id: 3, name: 'Item 3', price: 15 }, { id: 1, name: 'Item 1', price: 20 }]

在上述代码中,我们首先定义了一个名为 items 的数组对象,其中每个元素包含 idnameprice 三个属性。然后,我们使用数组的 sort() 方法来按照 price 属性从低到高对数组进行排序,并将排序后的结果输出到控制台。

4.两个对象合并

在 Vue 中,可以使用 JavaScript 的 Object.assign() 方法来合并两个对象。以下是一个简单的示例:

const obj1 = { a: 1, b: 2 };
const obj2 = { b: 3, c: 4 };
​
const mergedObj = Object.assign({}, obj1, obj2);
​
console.log(mergedObj);
// { a: 1, b: 3, c: 4 }

在上述代码中,我们首先定义了两个对象 obj1obj2,它们分别包含属性 abbc。然后,我们使用 Object.assign() 方法将它们合并为一个新的对象 mergedObj,并输出到控制台。