我有一个数字数组InvitationRowsTrue 4,5 它通过html表单传递,并输出为字符串4,5
数据到达数组中的3个位置:
0: 4
1: ,
2: 5
3: ,
4: 6
我试图通过遍历数组查找逗号并使用.splice
方法删除所有逗号来删除所有逗号,因此inviteRowsTrue
数组最终看起来像:
0: 4
1: 5
2: 6
我不断得到:
TypeError:在对象错误中找不到函数拼接
我的代码段:
var inviteRowsTrue = calinvite.inviteRowsTrue; //data comes from an html form as 4,5
for(var p=1;p<inviteRowsTrue.length;p++){
if(inviteRowsTrue[p] == ","){
console.log("Found a comma");
console.log("Before we remove the comma inviteRowsTrue contains: "+inviteRowsTrue);
inviteRowsTrue.splice(p, 1);
console.log("Removed that comma, now inviteRowsTrue contains: "+inviteRowsTrue);
}
}
我的console.log显示以下输出:
2019年7月14日,下午2:26:38调试发送邀请
2019年7月14日,下午2:26:39 DEBUG找到一个逗号
2019年7月14日,下午2:26:39调试之前,我们删除逗号InvitationRowsTrue包含:4,5
2019年7月14日下午2:26:39错误TypeError:在对象4,5中找不到函数拼接
我在做什么错?谢谢!
答案 0 :(得分:2)
您正在尝试将方法.splice()
应用于Object
。 Object
没有这种方法,只有Array
。如您在帖子中所写,如果对象中的键是有序的且对您而言无关紧要,则可以这样做,以便将对象的值放入数组中:
inviteRowsTrue = Object.values(inviteRowsTrue);
答案 1 :(得分:0)
由于您的注释表明您的数组实际上不是数组,而是字符串对象,因此可以使用一个衬线来消除逗号:
inviteRowsTrue = inviteRowsTrue.replace(/,/g, "")