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