我有一個字串資料,我需要在 javascript 中轉換為物件陣列
下面的代碼試過
var splitarr = sample.split('|');
var result = splitarr.map(e=>{
details: e,
values: splitarr[e]
})
var sample = "finance=60|IT=88|sales=50"
Expected Output
[
{"details": "finance","tag":60},
{"details": "IT","tag":88},
{"details": "sales","tag":50}
]
uj5u.com熱心網友回復:
您需要另一個拆分=,請嘗試:
var sample = "finance=60|IT=88|sales=50";
var splitarr = sample.split('|');
var result = splitarr.map(e=>{
let keyVal = e.split('=');
return { details: keyVal[0], tag:keyVal[1] }
})
console.log(result);
此外,當您從箭頭函式回傳物件時,您需要使用括號(),否則它將被視為代碼塊,請嘗試:
var sample = "finance=60|IT=88|sales=50";
var splitarr = sample.split('|');
var result1 = splitarr.map(e=>{
details: e
})
console.log(result1);
var result2 = splitarr.map(e=>({
details: e
}))
console.log(result2);
uj5u.com熱心網友回復:
另一種將字串轉換為物件的方法。
const sample = "finance=60|IT=88|sales=50";
const result = sample
.split('|')
.map((e) => e.split('='))
.map(([details, tag]) => ({ details, tag }));
console.log(result);
.as-console-wrapper{min-height: 100%!important; top: 0}
uj5u.com熱心網友回復:
用于regex提取所有對,例如。"finance=60"通過使用string.match(regex)which 將回傳對陣列,然后用于Array.map()映射到物件陣列。
const text = "finance=60|IT=88|sales=50";
const convertToObject = (str) => {
const list = str.match(/\w =\d /g);
return list.map(ele => {
const [details, tag] = ele.split("=");
return { details, tag };
});
}
console.log(convertToObject(text));
uj5u.com熱心網友回復:
觀察:
- 而不是
values財產,它應該是tag。 - 拆分器將是一個簡單
array的元素。這splitarr[e]將不起作用或不存在。
您可以使用String.split()方法來獲取details和tag值。
作業演示:
const sample = "finance=60|IT=88|sales=50";
const splitarr = sample.split('|');
const result = splitarr.map((e) => {
return {
details: e.split('=')[0],
tag: e.split('=')[1]
}
});
console.log(result);
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/431556.html
標籤:javascript 数组 循环 目的 分裂
下一篇:在React中組合陣列和嵌套陣列
