[英]How can I make this javascript function to allow more than 1 value to be entered into a input box with separated by a space?
[英]Javascript/Jquery : Passing numbers entered in input tag separated with space to an array
我一直在尝试将在输入标签中输入的数字传递给数组。 输入的数字将用空格分隔。
var arr = [];
$(function(){
var input = $('input').val(),
button = $('button');
button.on('click',function{
arr = input.split(' ');
console.log(arr);
});
});
样本输入: 1 4 3 5 65 145 6
所需的输出: arr = [1,4 3,5,65,145,6];
拆分后,您将获得strings
数组。 仅在拆分之后,您才需要使用Array#map和parseFloat函数将它们解析为数字。
还一注 。 如果用spaces
开始或结束输入,它也会在数组项中提供NaN
,因此最后我用not NaN
值过滤了数组。
var arr = []; $('#btn').on('click', function() { var values = $('#inp').val(); arr = values.split(' ').map(val => parseFloat(val)).filter(val => !Number.isNaN(val)); console.log(arr); });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <input id="inp" > <button id="btn">Get values</button>
var input = '1 4 3 5 65 145 6';
var arr = input.split(' ').map(Number);
结果:
arr = [1、4、3、5、65、145、6]
你快到了
var outputArr = input.split( " " ).map( function(item){ return Number(item) });
要么
var outputArr = input.split( " " ).map( function(item){ return +item });
要么
var outputArr = input.split( " " ).map( function(item){ return parseInt(item) });
您需要迭代数组中的String item
并将其转换为Number 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.