我已经创建了这样的json数组
package main
import (
"fmt"
"math/big"
"crypto/rand"
)
func main() {
var prime1, _ = new(big.Int).SetString("21888242871839275222246405745257275088548364400416034343698204186575808495617", 10)
// Generate random numbers in range [0..prime1]
// Ignore error values
// Don't use this code to generate secret keys that protect important stuff!
x, _ := rand.Int(rand.Reader, prime1)
y, _ := rand.Int(rand.Reader, prime1)
fmt.Printf("x: %v\n", x)
fmt.Printf("y: %v\n", y)
}
我想以表格格式列出此数据而不使用键名。 我尝试过,
data = [{ product_id: 1, manufacturer: 'man1', product: 'test1' },
{ product_id: 2, manufacturer: 'man2', product: 'test2' }]
工作正常。但是我想显示值而不指定键名,例如for(i=0; i<data.length;i++){
console.log(data[i].product_id+","+data[i].product+","+data[i].manufacturer);
}
,.product_id
等。是否可以在javascript中使用?您能支持我解决这个问题吗?
答案 0 :(得分:4)
您可以使用Object.values()
获取该对象所有值的迭代器。例如,将它们全部记录到控制台中,并以逗号分隔,而无需指定每个键:
let data = [
{ product_id: 1, manufacturer: 'man1', product: 'test1' },
{ product_id: 2, manufacturer: 'man2', product: 'test2' }
]
for(i=0; i<data.length;i++){
console.log(Object.values(data[i]).join(','))
}
这将列出对象 own property 的名称,因此它不会遵循原型链(如果这样的话)。
基于注释的编辑(使用padEnd()
指定固定宽度):
let data = [
{ product_id: 1, manufacturer: 'man1', product: 'test1' },
{ product_id: 2, manufacturer: 'man2', product: 'test2' }
]
let fixedWidth = 7
for(i=0; i<data.length;i++){
let padded = Object.values(data[i])
.map(str => String(str).padEnd(fixedWidth, " "))
.join('')
console.log(padded)
}
答案 1 :(得分:0)
您可以使用for in
语句遍历对象,如下所示:
data = [{ product_id: 1, manufacturer: 'man1', product: 'test1' },
{ product_id: 2, manufacturer: 'man2', product: 'test2' }]
for(object of data){
for(key in object){
console.log(object[key])
}
}
答案 2 :(得分:0)
您还可以执行以下操作:
var data = [{ product_id: 1, manufacturer: 'man1', product: 'test1' }, { product_id: 2, manufacturer: 'man2', product: 'test2' } ]
const log = (padLength) => data.forEach(x => console.log(Object.values(x).join(' '.repeat(padLength))))
log(2)
log(5)
使用forEach
,因为数据已经是一个数组,并且使用Object.values
来获取数组中的值,然后是一个join
,它使用padLength参数重复空白数