js里面删除数组元素的问题

<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/... <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>文字搬运工</title>
</head>
<script type="text/javascript">
window.onload=function(){
var oAaa=document.getElementById('aaa');
var oBbb=document.getElementById('bbb');
var arr="我是谁,是不是谁";
alert(arr[0]);
delete arr[0];
alert(arr[0]);
alert(arr);
}
</script>
<body>
<input type="textarea" id="aaa" />
<input type="button" id="bbb">
</body>
</html>

为什么我数组里面放的是文字,就删除不了?如果全是数字就可以。 要怎么删除文字?
展开
 我来答
大雁一向北飞
推荐于2017-10-10 · 超过19用户采纳过TA的回答
知道答主
回答量:75
采纳率:0%
帮助的人:39.7万
展开全部
首先数组创建和初始化的格式不对
因为js是弱语言,对格式要求不是很高,所以对于赋值时"new Array"可以省略,直接用
var arrayObj =[[element0[, element1[, ...[, elementN]]]])]
例如var arrayObj =[1,2,3];var arrayObj =["hello","你","好"];
按你目前的格式如果放的是数字,var arr="1,2,3";这时arr里其实放了五个元素,逗号也算进去了,所以如果格式错了,js虽然不会报错,但这是以不是你想要的结果,正确的应该赋值应该是
var arrayObj =[1,2,3]或者var arrayObj =new Array(1,2,3);或者var arrayObj =new Array();
arrayObj[0]=1;arrayObj[1]=2;arrayObj[2]=3;
还有删除数组指定下标的元素,不能直接用delete arr[i]吧

可以参考以下格式进行创建、初始化和删除
数组的创建
var arrayObj = new Array(); //创建一个数组
var arrayObj = new Array([size]); //创建一个数组并指定长度,注意不是上限,是长度
var arrayObj = new Array([element0[, element1[, ...[, elementN]]]]); 创建一个数组并赋值
删除元素
array.pop();//删除最后一个元素,并返回该元素
array.shift();//删除第一个元素,数组元素位置自动前移,返回被删除的元素
array.splice(start,delCount);//从start的位置开始向后删除delCount个元素
银祭NNw4
2014-08-17 · 超过64用户采纳过TA的回答
知道答主
回答量:145
采纳率:100%
帮助的人:156万
展开全部
这个很简单啊,删除一次下标重新计算,你可以在删除一次的时候,for循环删除下一次的时候i-1就可以了。
希望对你能有所帮助。
追问
不会就别给我瞎叫!还是复制的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
笔下
2019-09-10
知道答主
回答量:4
采纳率:0%
帮助的人:1438
展开全部
因为你这根本不是数组
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式