我有以下代码:
const burger = `<div class="card" data-id="42" data-price="15" data-category="popular">`
我需要以下对象:
const obj = { id: 42, price: 15, category: 'popular' }
使用此功能:
let regex = /(?<name>\w+)="(?<value>\w+)"/g;
let results = burger.matchAll(regex);
for(let result of results) {
let {name, value} = result.groups;
let valores = `${name}: ${value}`;
console.log(valores)
}
我得到了以下信息,但这不是我想要的
> "class: card"
> "id: 42"
> "price: 15"
> "category: popular"
1条答案
按热度按时间rxztt3cl1#
您可以使用domparser来解析html,获取第一个子元素并循环所有属性。
要将数字字符串和布尔字符串转换为它们相应的类型,我们可以使用
isNaN
和简单的字符串比较。parseInt()
用于将字符串转换为数字和JSON.parse()
用于将字符串转换为布尔值。