繁体   English   中英

循环中字符串的数组值

[英]Array values to a string in loop

我有一个对象(键值对)看起来像这样

在此输入图像描述

我想得到一串'[100000025] / [100000013]'

我不能使用var str = OBJ[0].PC + OBJ[1].PC (这给我'100000025100000013')因为我需要支架结构。 项目数量可能有所不同。

添加>>可以不使用箭头功能吗?

 const string = array.map(({PC}) => `[${PC}]`).join('/')

您可以将每个字符串映射到括在括号中的字符串,然后通过斜杠将其连接起来。

您可以使用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] 

你总是可以使用classic for in循环

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]"

首先,如果你想分割结果,那么最好把它改成数字,然后再进行除法。

Number.parseInt("100000025")/Number.parseInt("100000013")

如果你想显示它,那么最好使用字符串插值用它后面勾选[${[0].PC}]/[${[1].PC}]

希望这就是你要找的东西

因此,您需要一个格式为:xxxx / yyyyy的字符串来自复杂的对象数组。

const basedata = [...];
const result = basedata.map( item => `[${item.PC}]` ).join('/')

所以我现在解释一下。 map函数将返回一个新数组,每个项目有1个条目。 我声明我想要PC,但我添加了一些使用滴答声来将它注入某些括号之间。 此时它看起来像: ["[1000000025]","[100000013]"]然后join将在斜线上加入数组,因此它将变成一个数组。

"[100000025]/[100000013]"

现在,这将根据您的基础数据中的项目进行扩展。 因此,如果您的basedata数组中有3个项目,它将返回:

"[10000000025]/[100000013]/[10000888]"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM