Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用JavaScript在输入文本字段中创建数组_Javascript_Jquery - Fatal编程技术网

使用JavaScript在输入文本字段中创建数组

使用JavaScript在输入文本字段中创建数组,javascript,jquery,Javascript,Jquery,我是JS社区的新手,我正在练习JS。我有一个输入文本字段,用户将在其中输入数组,如1,2-5,6-9,10,12,13-15。我正在尝试扩展这个数组,比如1,2,3,4,5,6,7,8,9,10,11,12,13,14,15 <input class="inputC" id="inputC" type="text" value="" placeholder="Select Control"

我是JS社区的新手,我正在练习JS。我有一个输入文本字段,用户将在其中输入数组,如
1,2-5,6-9,10,12,13-15
。我正在尝试扩展这个数组,比如
1,2,3,4,5,6,7,8,9,10,11,12,13,14,15

<input class="inputC" id="inputC" type="text" value="" placeholder="Select Control" required />

注意:您应该指定基于给定输入在输出中添加
11
的逻辑

您应该在
-
上进行拆分,也可以在map回调函数中进行拆分

演示:

var items=$('#inputC').val().split(',');
items=items.flatMap(i=>{
var列表=[];
i=i.分割('-');
如果(i.长度>1){
对于(var j=i[0];j
设str='1,2-5,6-9,10,12,13-15';
str.split(',').map((e)=>{
如果(例如包括('-')){
常量值=e.split('-');
const end=parseInt(值[1]);
让start=parseInt(值[0]);
while(开始<结束){
log(start);start++;
}
}否则{
console.log(parseInt(e))
} 

})
这是一个很好的场景,在这个场景中,您需要创建一个小型派生的网络组件,它可以满足您的需要:

<input is="array-input" />

class ArrayInput扩展了HTMLInputElement{
获取值(){
让inter=super.value.split(',').map(el=>el.trim());
设ret=[];
用于(国际标准){
常量[开始,结束]=高程拆分('-')映射(编号);
如果(isNaN(开始))继续;
如果(!end | | start>end){
后推(启动);
}else if(开始===结束){
后推(启动)
}else if(开始<结束){

for(让i=start;i您需要检查是否有带“-”的项在输入中排除
11
是没有任何意义的,那么
11
在输出中是如何的。您可以直接输入
1-15
?您允许重复吗?@ManasKhandelwal这只是一个例子。@connexo不,先生。它应该是唯一的谢谢您,先生Help@aryanvishwakarma你是始终欢迎。为了更好地理解,我尽可能地将代码写得干净。如果这对您真的有帮助,请将其标记为已接受。谢谢,先生course@aryanvishwakarma非常感谢!纯代码答案几乎永远都不是好答案。您的答案也不例外。谢谢您的帮助
<input is="array-input" />