我有一个对象(键值对)看起来像这样
我想获取字符串'[100000025] / [100000013]'
我不能使用var str = OBJ[0].PC + OBJ[1].PC
(这给我'100000025100000013')
因为我需要支架结构。
项目数量可以变化。
已添加>>无需使用箭头功能就可以完成吗?
答案 0 :(得分:6)
const string = array.map(({PC}) => `[${PC}]`).join('/')
您可以将每个字符串映射到括在方括号中的字符串,然后以斜杠将其连接。
答案 1 :(得分:2)
您可以使用map()和join()获得该结构。 -这是与Puwka's =相同的解决方案,但没有模板文字。
var data = [
{am: 1, ct: "", pc: "1000000025"},
{am: 2, ct: "", pc: "1000000013"}
];
let newArr = data.map(item => "[" + item.pc +"]");
console.log(newArr.join("/")); // gives [1000000025]/[1000000013]
答案 2 :(得分:1)
您随时可以在循环中使用经典
let arr = [{PC:'1000'},{PC:'10000'}]
let arrOut = [];
for(let i = 0; i < arr.length; i++) {
arrOut.push('[' + arr[i].PC + ']');
}
现在arrOut等于[“ [1000]”,“ [10000]”],我们需要将其转换为字符串并在项目之间添加'/'。
let str = arrOut.join('/');
console.log(str) // "[1000]/[10000]"
答案 3 :(得分:0)
首先,如果要划分结果,最好将其更改为数字,然后再进行划分。 例子
Number.parseInt("100000025")/Number.parseInt("100000013")
如果要显示它,则最好使用字符串插值
用背勾将其包围
[${[0].PC}]/[${[1].PC}]
希望这是您要寻找的
答案 4 :(得分:0)
因此,您需要一个来自复杂对象数组的格式为xxxx / yyyyy的字符串。
const basedata = [...];
const result = basedata.map( item => `[${item.PC}]` ).join('/')
所以我现在将解释它。 map函数将返回一个新数组,每个项目有1个条目。我声明我想要PC,但是我使用刻度线添加了一些风味,以将其注入一些括号之间。此时,它看起来像:["[1000000025]","[100000013]"]
,然后join将以斜杠连接数组,因此它将变成数组。
"[100000025]/[100000013]"
现在,这将根据您的baseata中的项目进行扩展。因此,如果您的basedata数组中有3个项目,它将返回:
"[10000000025]/[100000013]/[10000888]"