Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/363.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_Html - Fatal编程技术网

在javascript中使用子字符串收集数组中的值

在javascript中使用子字符串收集数组中的值,javascript,html,Javascript,Html,我有一个字段中的数据,如下所示: 40-818-938 | COUPLING, 25MM, PVC BLACK | PCS, MTR, BUNDLE | 3 第一块是项目代码,第二块是项目描述,第三块是单位,它们是动态的,第四块是单位数量。块之间用| 我想循环第三个块(单位),将它们放入不带逗号和空格的单独变量中,并使用它们填充选择列表 请帮助我实现这一目标。下面是根据单元数(第四个块)将第三个块添加到选择列表中的代码,我需要将它们分开 for (var i = 0; i < arrDa

我有一个字段中的数据,如下所示:

40-818-938 | COUPLING, 25MM, PVC BLACK | PCS, MTR, BUNDLE | 3
第一块是项目代码,第二块是项目描述,第三块是单位,它们是动态的,第四块是单位数量。块之间用
|

我想循环第三个块(单位),将它们放入不带逗号和空格的单独变量中,并使用它们填充选择列表

请帮助我实现这一目标。下面是根据单元数(第四个块)将第三个块添加到选择列表中的代码,我需要将它们分开

for (var i = 0; i < arrData[3]; i++) {
 var x = document.createElement("OPTION");
    x.setAttribute("value", arrData[2]);
    var t = document.createTextNode(arrData[2]);
    x.appendChild(t);
input.appendChild(x);
}
for(变量i=0;i

提前谢谢。

你可以这样做

Var items = obj.split("|"); 
Var units = items[2].split(",");
var string1 = yourstring.split('|');
var array = string1[2] .split(',');  
构建一个选择:

array.forEach(function(entry) {
  var x = document.createElement("OPTION");
  x.setAttribute("value", entry);
  var t = document.createTextNode(entry);
  x.appendChild(t);
  input.appendChild(x);
});

您需要使用java脚本的split函数。前

var newstring=string.split('|');
var laststring=newstring[2].split(",");// new string
var yourneed=laststring[1];

由于您已经将原始字符串拆分为一个数组,因此还需要拆分该数组的第二个元素:

arrData[2] = arrData[2].split(',');
然后,在循环内部,您需要像这样引用它:

x.setAttribute("value", arrData[2][i]);
var t = document.createTextNode(arrData[2][i]);

如果还想删除空格,可以将其添加到要拆分的图案中:

var data = '40-818-938 | COUPLING, 25MM, PVC BLACK | PCS, MTR, BUNDLE | 3';

var units = data.split(/\s*\|\s*/g)[2]; // "PCS, MTR, BUNDLE"

console.log(units.split(/\s*,\s*/)[1]); // "MTR" 
制作选项元素的最简单方法是使用:


你试过什么吗?“40-818-938 |联轴器,25毫米,PVC黑色|件,地铁,捆绑| 3”。拆分(“|”)2。拆分(“,”)
var unit = units.split(/\s*,\s*/)[1];
var x = new Option(unit, unit);
input.appendChild(x);