【发布时间】:2020-06-19 17:29:31
【问题描述】:
我正在尝试从数组中生成一个随机 SKU 编号。使用 Math.floor() 和 Math.random() 获取索引。但它只返回一个字母或数字,而不是整个字符串。这是函数:
function bookRentData(bookData) {
bookData.forEach((book) => {
//generate random sku number
const sku = book.sku
var random = sku[Math.floor(Math.random() * sku.length - 1)];
document.getElementById("message").innerHTML = sku[random];
});
wrap.innerHTML += `<tr>
<td>${book.sku}</td>
<td>${book.price}</td>
</tr>`
}
预期输出:101ZS536
当前输出:Z
// example of the data
[{sku: '101ZS536',
price: 4.37
},
{
sku: '10134QYT',
price: 42.61
},
{
sku: '10134QYT',
price: 53.31
},
{
sku: '10134QYT',
price: 0
},
{
sku: '10134QYT',
price: 3.46
}
]
任何意见或建议将不胜感激。
【问题讨论】:
-
什么是
bookData?为什么使用.forEach()?book.sku/sku是什么?如果你回答了所有这些问题,你应该找到问题的根源。 -
它返回
z,因为sku值设置为等于[1,0,1,Z,S,5,3,6]。即book.sku的值 -
@Andreas
bookData保存整个数据,.forEach()遍历数据中的每个对象,book.sku从每个对象返回每个书籍 sku 编号。我正在尝试随机检索其中 1 个 sku 号码。
标签: javascript