如何在数组中获取每个元素的长度

时间:2018-03-11 07:40:39

标签: javascript html arrays string function



<html>
<head>
	<title>This is the 3rd html</title>
	<!--Wei Wu section A-->
	<h1>This program wraps your text</h1>
	<script type="text/javascript">
	/*function arrayToStr(){
		var word = []

	}*/
	function splitString(stringToSplit, separator) {
  	arrayOfStrings = stringToSplit.split(separator); //注意这儿能不能用
  	document.write(arrayOfStrings + "<br>");
  	/*'The original string is: "' + stringToSplit + '"';
  	'The separator is: "' + separator + '"')
  	'The array has ' + arrayOfStrings.length + ' elements: ' + arrayOfStrings.join(' / '))*/
	}
	function longestWord(){
		longest = arrayOfStrings[0].length;
		for (i=1; i<arrayOfStrings.length; i++){
		
		if(longest<arrayOfStrings[i].length){
			longest = arrayOfStrings[i].length;
		}
		else{
			longest=longest;
		}
	}
	document.write(longest + "<br>");
	}

	function splitUp(){
		//arrayOfStrings = splitString(word," ");
		howLong = arrayOfStrings[0].length;
		for(i=0; i< arrayOfStrings.length;){
			if (howLong <longest){
				document.write(arrayOfStrings[i] + ' ');
				howLong = howLong + 1 + arrayOfStrings[i+1].length;
				i++;
			}
			else if (howLong = longest){
				document.write(arrayOfStrings[i] + "<br>");
				howLong = arrayOfStrings[i+1].length;
				i++;
			}
			else{
				document.write("<br>" + arrayOfStrings[i] + " ");
				howLong = arrayOfStrings[i].length + 1 + arrayOfStrings[i+1].length;
				i++;
			}
	}
}
	</script>
</head>
<body>
	<script type="text/javascript">
		word = [];
		word = prompt("type a very long sentence that you want me to deal with: ");
		splitString(word, " ");
		longestWord();
		splitUp();
</script>

</body>
</html>
&#13;
&#13;
&#13;

大家好,

感谢您的帮助。这个赋值是包装文本: 1.包含一个HTML输入字段,供用户使用HTML按钮直接在网页中输入字符串来执行JavaScript。 (我只是熟练按钮部分,以后再说) 2.包含一个将输入字符串分成单个单词的函数。 3.包括确定输入中最长单个单词的功能 string(可以与前一个函数分组)。 4.包括一个函数,用于将字符串的单词直接写入网页,布局使得单行不比字符串中最长的单词长。

我认为对于前三个,我的工作很好,但是对于我为第四部分所写的功能,它没有工作......我无法将工作切割成所有那些比最长的单词..

1 个答案:

答案 0 :(得分:0)

当我使用某些输入运行代码时,我收到以下错误:

Cannot read property 'length' of undefined

您的代码中有一点您正在尝试访问不存在的对象(字符串/数组)的length属性。

您应该尝试使用调试器/断点/日志记录运行代码,以查看对{​​{1}}的哪些调用失败。考虑记录每个阶段的输入/输出,看它是否符合您的期望。

顺便说一句,使用分隔符定义单词边界是有问题的,尽管这对您的作业可能并不重要。如果您有兴趣,请查看正则表达式,以寻找单词边界的替代方法。