javascript - 如何在 HTML 中返回 json 对象值列表的总和
问题描述
我正在构建一个基于此的 html 表单,当用户提交他/她的姓名时,它应该返回一个整数,表示用户购买的所有商品的总和,API 的返回值是一个 json 格式列表,如下所示:
[{"Phone":800}, {"laptop":1500}, {"car":12000},{"watch":300}]
这是我的html代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" type="text/css" href="MyMain.css">
<script language="JavaScript">
function myFunction() {
document.getElementById('myshow').innerHTML =
document.getElementById("Name").value;
return false;
}
</script>
</head>
<body>
<div class="container">
<div>
<fieldset>
<form method="POST" action="" onSubmit="return myFunction();">
<div class="row">
<div form-group">
<label for="fname">Your Name: </label>
<input type="text" class="form-control" name="name" id="Name" placeholder="Jon" value="">
</div>
</div>
<div>
<input type="submit" class="button" value="Submit"><br/>
</div>
</div>
</form>
</fieldset>
</div>
</div>
<div class="container">
<fieldset>
<div>
<label>Prices: </label>
<p><span id='myshow'></span></p>
</div>
</fieldset>
</div>
</body>
</html>
我不知道如何获得该响应以及如何对项目的值求和!
解决方案
您的问题的简短回答是:
var a = '[{"Phone":800}, {"laptop":1500}, {"car":12000},{"watch":300}]';
// parse your json to object if your json is string and not generated by js
a = JSON.parse(a);
var sum = 0;
Object.values(a).forEach(function(ww){
sum += Object.values(ww)[0]; // get sum of every object item value.
});
console.log(sum);
推荐阅读
- python - “UnityEnvironment”对象没有属性“get_agent_groups”(mlagents_envs 0.16.1)
- laravel - 为什么通知:table create table with primary key is uuid
- ffmpeg - 如何正确执行 FFmpeg 命令以获得视频质量或更高质量的直播流?
- typescript - Ionic5 和 Typescript - 支持 http 请求:将 fetch Promise 转换为 Observable?
- symfony - 仅为创建帖子的人激活按钮
- javascript - 向已经具有 onClick 功能的组件添加道具?
- php - mysql Join显示错误的结果PHP
- netlify - Netlify + Middy。不向客户端返回响应
- arrays - Excel公式。在每个人的日期列表中查找内容
- github - 将 GitHub 存储库重命名为我刚刚删除的名称的安全方法?