首先,我需要创建一个数组,其中播放器的名称取自输入#P1和#P2和#P3。
示例:使用成员[class]查找站立[code]并将stand [rank]放入数组中添加的数字字段。
按[rank]和[name]排序数组。
输出名为“players.txt”的分隔文件---> “保罗|吉姆|鲍勃”这一部分在JS下面失踪了。我如何写给玩家.TXT?
HTML :(带有播放器名称[#P1]和类[Y1]的html代码)
<div class="block">
<div class="line"><input type = "text" id = "P1" name = "N1" /></div>
<div class="line"><input type = "text" id="Y1"></div>
</div> <br />
<div class="block">
<div class="line"><input type = "text" id = "P2" name = "N2" /></div>
<div class="line"><input type = "text" id="Y2"></div>
</div> <br />
<div class="block">
<div class="line"><input type = "text" id = "P3" name = "N3" />
<div class="line"><input type = "text" id="Y3"></div>
</div> <br />
JSON:
<script>
var members = [
{"Class": "A", "Name": "Paul"},
{"Class": "C", "Name": "Jim"},
{"Class": "B", "Name": "Bob"},
];
</script>
<script>
var standing = [
{"code" : "A", "rank" : "1"},
{"code" : "B", "rank" : "2"},
{"code" : "C", "rank" : "3"},
];
</script>
JS:
var memberstosort = [], sorted = [];
function sort() {
memberstosort.sort(function(l, r) { return l.rank - r.rank});
Object.keys(memberstosort).map(function(objectKey, index) {
var value = memberstosort[objectKey].name;
sorted.push(value);
});
sorted = sorted.join('|');
document.getElementById('result').innerHTML = sorted;
}
var currentname, currentclass, index, currentrank;
function fillClass(id) {
currentname = document.getElementById(id).value;
index = members.findIndex(checkClass);
currentclass = members.filter(checkClass).length ?
members.filter(checkClass)[0].Class : null;
if (currentclass) {
currentrank = standing.filter(checkRank).length ?
standing.filter(checkRank)[0].rank : null;
} else {
return;
}
var currentmember = {};
currentmember.name = currentname;
currentmember.rank = currentrank;
memberstosort.push(currentmember);
}
function checkClass(player) {
return player.Name.toLowerCase() === currentname.toLowerCase();
}
function checkRank(standing) {
return standing.code === currentclass;
}
答案 0 :(得分:-1)
希望这会对你有所帮助。我不确定,因为我真的不在
var members = [{
"Class": "A",
"Name": "Paul"
},
{
"Class": "C",
"Name": "Jim"
},
{
"Class": "B",
"Name": "Bob"
},
];
var standing = [{
"code": "A",
"rank": "1"
},
{
"code": "B",
"rank": "2"
},
{
"code": "C",
"rank": "3"
},
];
var memberstosort = [], sorted = [];
function sort() {
memberstosort.sort(function(l, r) { return l.rank - r.rank});
Object.keys(memberstosort).map(function(objectKey, index) {
var value = memberstosort[objectKey].name;
sorted.push(value);
});
sorted = sorted.join('|');
document.getElementById('result').innerHTML = sorted;
}
var currentname, currentclass, index, currentrank;
function fillClass(id) {
currentname = document.getElementById(id).value;
index = members.findIndex(checkClass);
currentclass = members.filter(checkClass).length ? members.filter(checkClass)[0].Class : null;
if (currentclass) {
currentrank = standing.filter(checkRank).length ? standing.filter(checkRank)[0].rank : null;
} else {
return;
}
var currentmember = {};
currentmember.name = currentname;
currentmember.rank = currentrank;
memberstosort.push(currentmember);
}
function checkClass(player) {
return player.Name.toLowerCase() === currentname.toLowerCase();
}
function checkRank(standing) {
return standing.code === currentclass;
}
HTML:
<div class="block" id="player1">
<div class="line">Player 1<input type="text" id="P1" name="N1" onblur="fillClass(this.id)" /></div>
<div class="line"> Class <input type="text" id="Y1"></div>
</div> <br />
<div class="block">
<div class="line">Player 2<input type="text" id="P2" name="N2" onblur="fillClass(this.id)"/></div>
<div class="line">Class<input type="text" id="Y2"></div>
</div> <br />
<div class="block">
<div class="line">Player 3<input type="text" id="P3" name="N3" onblur="fillClass(this.id)"/>
<div class="line">Class<input type="text" id="Y3"></div>
</div> <br />
<div id="result">
</div>
<button onclick="sort()">
Check
</button>