在 JavaScript 中添加两个串联的 JSON 值
Adding two concatenated JSON values in JavaScript
尝试对 JSON 文件中的两个串联值求和并将它们添加到 HTML Table:
我正在努力思考如何将 value.name.wins 与 value.name.loss 相加,并使总数显示在 HTML table td 插槽中。它们是 JSON 文件中的数字,但只是将它们加起来等于 24,而它应该是 6。是否需要一个全新的函数来实现这个总和?
<script>
$(document).ready(function(){
$.getJSON("managers.json", function(data) {
var managers_data = "";
$.each(data, function(key, value) {
managers_data += "<tr class='test'>";
managers_data += '<td>' + value.name.wins+ +value.name.loss+ '</td>';
});
$('#managers_table').append(managers_data);
});
});
</script>
[
{
"name" : {
"wins": 2,
"loss": 4
}
}
]
你在拼接一个字符串,所以2
是coerced变成一个字符串,加到<td>
的末尾,然后4
被强制变成一个字符串并添加到 <td>2
的末尾,等等...
如果您想要它们的总和,请在连接之前计算它。
const wins = 2;
const loss = 4;
console.log('<td>' + wins + loss + '</td>');
console.log('<td>' + (wins + loss) + '</td>');
使用括号:
而不是
'<td>' + value.name.wins+ +value.name.loss+ '</td>'
做:
'<td>' + ((+value.name.wins)+(+value.name.loss))+ '</td>'
或者干脆 Template literals
:
`<td>${(+value.name.wins)+(+value.name.loss)}</td>`
这应该有效:
<script>
$(document).ready(function(){
$.getJSON("managers.json", function(data) {
var managers_data = "";
$.each(data, function(key, value) {
managers_data += "<tr class='test'>";
managers_data += `<td>${(value.name.wins + value.name.loss)}</td>`;
});
$('#managers_table').append(managers_data);
});
});
</script>
尝试对 JSON 文件中的两个串联值求和并将它们添加到 HTML Table:
我正在努力思考如何将 value.name.wins 与 value.name.loss 相加,并使总数显示在 HTML table td 插槽中。它们是 JSON 文件中的数字,但只是将它们加起来等于 24,而它应该是 6。是否需要一个全新的函数来实现这个总和?
<script>
$(document).ready(function(){
$.getJSON("managers.json", function(data) {
var managers_data = "";
$.each(data, function(key, value) {
managers_data += "<tr class='test'>";
managers_data += '<td>' + value.name.wins+ +value.name.loss+ '</td>';
});
$('#managers_table').append(managers_data);
});
});
</script>
[
{
"name" : {
"wins": 2,
"loss": 4
}
}
]
你在拼接一个字符串,所以2
是coerced变成一个字符串,加到<td>
的末尾,然后4
被强制变成一个字符串并添加到 <td>2
的末尾,等等...
如果您想要它们的总和,请在连接之前计算它。
const wins = 2;
const loss = 4;
console.log('<td>' + wins + loss + '</td>');
console.log('<td>' + (wins + loss) + '</td>');
使用括号: 而不是
'<td>' + value.name.wins+ +value.name.loss+ '</td>'
做:
'<td>' + ((+value.name.wins)+(+value.name.loss))+ '</td>'
或者干脆 Template literals
:
`<td>${(+value.name.wins)+(+value.name.loss)}</td>`
这应该有效:
<script>
$(document).ready(function(){
$.getJSON("managers.json", function(data) {
var managers_data = "";
$.each(data, function(key, value) {
managers_data += "<tr class='test'>";
managers_data += `<td>${(value.name.wins + value.name.loss)}</td>`;
});
$('#managers_table').append(managers_data);
});
});
</script>