簡體   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