1、在最后一个练习中,阵列包含一堆字符串,其中包含有关英格兰北部火车站的信息。字符串是包含三字母站代码的数据项,后面是一些机器可读数据,后跟分号,后跟可读站名。 例如: MAN675847583748sjt567654;Manchester Piccadilly
目标: 我们要提取站点代码和名称,并将它们放在一起,具有以下结构的字符MAN: Manchester Piccadilly
思路:
1.提取三个字母的站代码并将其储存在一个新的变量中。
2.查找分号的字符索引号
3.使用分号字符索引号作为参照点提取人可读的站名,并将其存储在新变量中
4.连接两个新的变量和一个字符串文字
5.将result变量的值跟改为等于最终的字符串,而不是input
<!DOCTYPE html>
<html >
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>处理长字符串</title>
<!--
-->
<!--
思路:
1.提取三个字母的站代码并将其储存在一个新的变量中。
2.查找分号的字符索引号
3.使用分号字符索引号作为参照点提取人可读的站名,并将其存储在新变量中
4.连接两个新的变量和一个字符串文字
5.将result变量的值跟改为等于最终的字符串,而不是input
-->
<script type="text/javascript">
window.onload = function () {
var list = document.querySelector(".output ul");
list.innerHTML = "";
var stations = [
"MAN675847583748sj567654;Manchester Piccadilly",
"GNF576746573fhdg4737dh4;Greenfield",
"LIV5hg65hg65hd737456236dch46dg4;Liverpool Lime Street",
"SYB4f65hf75f736463;Stalybridge",
"HUD5767ghtyfyr4536dh45dg45dg3;Huddersfield",
];
for (var i = 0; i < stations.length; i++){
var input = stations[i];
var threeWord = input.slice(0,3);
var index = input.indexOf(';');
var sliceWord = input.slice(index+1);
var input = threeWord + ': ' + sliceWord;
var result =input;
var listItem = document.createElement('li');
listItem.textContent = result;
list.appendChild(listItem);
}
};
</script>
</head>
<body>
<div class="output">
<ul></ul>
</div>
</body>
</html>
2、在这个练习中,我们有英国城市的名字,但是这个大写字母都搞砸了。我们希望你改变它们,使它们都是小写字母,除了首字母
思路:
1.将输入变量中包含的整个字符串转换为小写,并将其存储在新变量中。
2.在此新变量中获取字符串的第一个字母并将其存储在另一个变量中。
3.将此最新变量用作子字符串,将小写字符串的第一个字母从小写更改为大写。 将此替换过程的结果存储在另一个新变量中。
4.让 result 变量的值与最终结果相等,而不是使用 input 变量
<!DOCTYPE html>
<html >
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>大写修正</title>
<!--
。 一个很好的方法是:
-->
<!-- 思路:
1.将输入变量中包含的整个字符串转换为小写,并将其存储在新变量中。
2.在此新变量中获取字符串的第一个字母并将其存储在另一个变量中。
3.将此最新变量用作子字符串,将小写字符串的第一个字母从小写更改为大写。 将此替换过程的结果存储在另一个新变量中。
4.让 result 变量的值与最终结果相等,而不是使用 input 变量。
-->
<script type="text/javascript">
window.onload = function () {
var list = document.querySelector(".output ul");
list.innerHTML = "";
var cities = ["lonDon", "ManCHESTer", "BiRmiNGHAM", "liVERpoOL"];
for (var i = 0 ; i < cities.length ; i++) {
var lower = cities[i].toLowerCase();
var firstLetter = lower.slice(0,1);
var capitalized = lower.replace(firstLetter,firstLetter.toUpperCase());
var listItem = document.createElement('li');
listItem.textContent = capitalized;
list.appendChild(listItem);
}
};
</script>
</head>
<body>
<div class="output">
<ul></ul>
</div>
</body>
</html>
3、
我们有一系列的问候卡片消息,但我们希望对它们进行排序,以列出圣诞消息。
我们希望您在 if(...) 结构中填写条件测试,以测试每个字符串,
并将其打印在列表中,如果它是圣诞消息。
<!DOCTYPE html>
<html >
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>过滤问候留言</title>
<!-- 主要是以indexof完成 -->
<script type="text/javascript">
window.onload = function(){
var list = document.querySelector('.output ul');
/* console.log(list) */
list.innerHTML = ' ';
var greetings = [
'Happy Birthday!',
'Merry Christmas my love',
'Merry Christmas my love',
'Merry Christmas my love',
'You\' re all I want to all the family',
'You\'re all I want for Christmas',
'Get well soon'
];
for(var i = 0; i < greetings.length-1;i++){
var input = greetings[i];
if (greetings[i].indexOf('Christmas') !== -1) {
var result = input;
var listItem = document.createElement('li');
listItem.textContent = result;
list.appendChild(listItem);
}
}
}
</script>
</head>
<body>
<div class="output">
<ul></ul>
</div>
</body>
</html>