Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/470.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 数组元素上的Substr(如果不为空)_Javascript_Arrays_Substr - Fatal编程技术网

Javascript 数组元素上的Substr(如果不为空)

Javascript 数组元素上的Substr(如果不为空),javascript,arrays,substr,Javascript,Arrays,Substr,嘿,我有一个数组,其中包含一些空字符串和一些包含内容的字符串 我想把那些不是空字符串的前5个字母切掉,并将它们放入一个新数组中。我还想保留那些空的 例如: myArray = [ "","","123456789","","",""]; var newArray = ["","","12345","","",""] 我尝试使用for循环,如果在内部,则如果myArray[I]为空,则不执行substr(),但我得到一个错误,即它不是函数 实际上,我不需要将其放入新数组,我只想将myArray(

嘿,我有一个数组,其中包含一些空字符串和一些包含内容的字符串

我想把那些不是空字符串的前5个字母切掉,并将它们放入一个新数组中。我还想保留那些空的

例如:

myArray = [ "","","123456789","","",""];
var newArray = ["","","12345","","",""]
我尝试使用for循环,如果在内部,则如果myArray[I]为空,则不执行substr(),但我得到一个错误,即它不是函数

实际上,我不需要将其放入新数组,我只想将myArray(I).subsrt(5)值放入一个splice()中,但随后我得到了错误:

VM750:82未捕获类型错误:无法读取未定义的属性“substr”


在没有看到所有代码的情况下,很难知道具体的问题是什么,但是这里有一个for循环,它遍历第一个数组中的所有元素,并将每个字符串的前5个或更少的字符插入到新数组中

myArray = [ "","","123456789","","",""];
var newArray = [];
for(var i = 0; i < myArray.length; i++) {
    newArray.push(myArray[i].substr(0,5));
} 
myArray=[“”、“”、“123456789”、““”、“”、“”、“”];
var newArray=[];
对于(var i=0;i
如果看不到所有代码,很难知道具体的问题是什么,但这里有一个for循环,它遍历第一个数组中的所有元素,并将每个字符串的前5个或更少字符插入到新数组中

myArray = [ "","","123456789","","",""];
var newArray = [];
for(var i = 0; i < myArray.length; i++) {
    newArray.push(myArray[i].substr(0,5));
} 
myArray=[“”、“”、“123456789”、““”、“”、“”、“”];
var newArray=[];
对于(var i=0;i
ES6和
数组.map

myArray = [ "","","123456789","","",""];
var newArray = myArray.map((s) => s.substr(0, 5))

带有
array.map的ES6

myArray = [ "","","123456789","","",""];
var newArray = myArray.map((s) => s.substr(0, 5))

正如@leum所说:

myArray = [ "","","123456789","","",""];
var newArray = myArray.map(e => e.substr(0, 5));

正如@leum所说:

myArray = [ "","","123456789","","",""];
var newArray = myArray.map(e => e.substr(0, 5));

您需要对非空项使用substr:
像这样:

myArray = [ "","","123456789","","",""];
for(var i = 0; i < myArray.length; i++) {
    temp = myArray[i];
    if (temp && temp != "")
      myArray[i] = temp.substr(0, 5);
    else
      myArray[i] = "";
}
myArray=[“”、“”、“123456789”、““”、“”、“”、“”];
对于(var i=0;i
您需要对非空项目使用substr:
像这样:

myArray = [ "","","123456789","","",""];
for(var i = 0; i < myArray.length; i++) {
    temp = myArray[i];
    if (temp && temp != "")
      myArray[i] = temp.substr(0, 5);
    else
      myArray[i] = "";
}
myArray=[“”、“”、“123456789”、““”、“”、“”、“”];
对于(var i=0;i
[“”,“”,“,”123456789“,“”,“,”,”).map(e=>e.substr(0,5))
有效。
[“”,“”,“,”123456789“,”,“”,“,”].map(e=>e.substr(0,5))
有效。很高兴为您提供帮助。如果可以的话,请接受@BalázsOrbánglad,来帮助你。如果可以的话,请接受@巴尔扎班