Javascript 如何请求字符串,然后将其用作数组的一部分?
大家好,我有一个复杂的问题,我有一个数组,它保存着关于冠军联赛的信息,比如Javascript 如何请求字符串,然后将其用作数组的一部分?,javascript,Javascript,大家好,我有一个复杂的问题,我有一个数组,它保存着关于冠军联赛的信息,比如 var teamstats=[ Bayern Munich: {wins:4,loses:1,goals:9,draws:2}, Fc Barcelona: {wins:4,loses:1,goals:9,draws:2}, ..... ] 我可以在控制台上写下每支球队的数据,比如 teamstats.Bayern Munich 我的问题是:我必须向用户询问球队
var teamstats=[ Bayern Munich: {wins:4,loses:1,goals:9,draws:2},
Fc Barcelona: {wins:4,loses:1,goals:9,draws:2},
..... ]
我可以在控制台上写下每支球队的数据,比如
teamstats.Bayern Munich
我的问题是:我必须向用户询问球队名称,然后打印球队的统计数据。
编辑:
获取字符串部分是可以的。我已经试过了
var str = {"teamfromuser"}
var x=eval(str)
按照您提供的方式,您的团队统计数据既不是有效的JavaScript,也不是JSON 它们应该写为
var teamstats={ "Bayern Munich": {wins:4,loses:1,goals:9,draws:2},
"Fc Barcelona": {wins:4,loses:1,goals:9,draws:2},
..... };
所以要查找您将要使用的特定项目
var key = "Bayern Munich";
var stats = teamstats[key];
假设您使用以下HTML:
<select id="teams"></select> <button id="show_stats">Show Stats</button>
<div id="stats"></div>
注意:就事件处理和跨浏览器兼容性而言,这并不是完全的最佳实践Javascript,它只是一个概念证明,让您朝着正确的方向前进。您可以使用提示命令要求用户输入信息HMM某些IE不会接受提示(除非更改了安全选项…)您没有编写有效的JavaScript,这看起来应该是一个对象。您可以通过
Object.keys
或Object.getOwnPropertyNames
以数组的形式获取对象上的所有键。
var teamstats = {
"Bayern Munich": {wins:4,loses:1,goals:9,draws:2},
"Fc Barcelona": {wins:1,loses:4,goals:3,draws:2}
},
teams = document.getElementById('teams');
for (var team in teamstats) {
teams.appendChild(new Option(team, team));
}
document.getElementById('show_stats').onclick = function(ev) {
ev.preventDefault();
var stats = document.getElementById('stats'),
teamstat = teamstats[teams.options[teams.selectedIndex].value];
stats.innerHTML = '';
for (var stat in teamstat) {
stats.innerHTML += stat + ': ' + teamstat[stat] + '<br>';
}
};