我正在解决一个问题,该问题要求我创建一个具有一个参数(数字)的函数,以从看起来像这样的输入中获取特定值:
4
1 2 3 4
第一行是数组中元素的数量,而数组本身在第二行中。
我不太了解这种输入格式。 num应该是两行吗?假设函数是查找数组的最大值。我应该如何准确解释num是什么?函数是否会逐行运行,因此第一行的num = [1],第二行的num = [1,2,3,4]?
答案 0 :(得分:2)
我通常通过拆分2次来处理这种类型的输入。第一次用换行符分割,然后用第二行,然后用空格分割第二行。
function getArray(num){
return num.split(`\n`)[1].split(` `)
}
这将返回所需值的数组,在您的示例[1, 2, 3, 4]
中。从那里,您可以使用包含数组的max函数,例如
function maxOfArray(array){
let max = array[0]
for(element of array){
if(element > max)
max = element
}
return max
}
并使用将其转换为数组的函数对其进行调用:
const input = `4
1 2 3 4`
console.log(maxOfArray(getArray(input))
答案 1 :(得分:1)
您可以使用<textarea>
获取以下格式的电话号码:
$('#btn').click(function () {
var value = $('#array-text').val();
var line1 = value.split('\n')[0];
console.log(line1);
var line2 = value.split('\n')[1];
console.log(line2);
var array = line2.split(' ')
console.log(array);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<textarea id="array-text"></textarea>
<button type="button" id="btn">show</button>