Json删除元素后长度不变。。。

___紫菜 2015-07-08 02:57:51

City = [
{ "CityID": 1, "CityName": "深圳", "FirstPY": "S", "IsHot": true, "Sort": 0 },
{ "CityID": 2, "CityName": "广州", "FirstPY": "G", "IsHot": true, "Sort": 0 },
{ "CityID": 3, "CityName": "东莞", "FirstPY": "D", "IsHot": false, "Sort": 0 },
{ "CityID": 4, "CityName": "澳门", "FirstPY": "A", "IsHot": false, "Sort": 0 }
];


循环删除了其中某个之后,长度依然保持不变。
应该是逗号引起的,比如我删掉了广州和东莞之后变成下面这样

City = [
{ "CityID": 1, "CityName": "深圳", "FirstPY": "S", "IsHot": true, "Sort": 0 },
,
,
{ "CityID": 4, "CityName": "澳门", "FirstPY": "A", "IsHot": false, "Sort": 0 }
];


如果我City[1]. CityID 就是undefined 而不是4

不知道有没有什么办法可解决这个问题。。。求解!!!
...全文
393 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
数组删除 这不是json的问题
香蕉猪 2015-07-09
  • 打赏
  • 举报
回复
循环检查json,,,出现匹配两个逗号的地方就给替换成一个。。。。
hch126163 2015-07-09
  • 打赏
  • 举报
回复
用 splice 删除
forwardNow 2015-07-08
  • 打赏
  • 举报
回复
两种方法:1. 使用splice根据指定索引删元素;2. 清除undefined元素

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>

<script type="text/javascript">

    // splice(index,howmany)
    // 删除指定index开始的howmany个元素,该方法会维护length值

    var arr = [ "a", "b", "c", "d" ];    

    arr.splice(2, 1); // => ["c"]

    arr; // => ["a", "b", "d"]

</script>

<script>
    
    // 删除数组中的undefined元素
    var arr2 = [ "a", , , null, , undefined, "b" ];

    for ( var i = 0; i < arr2.length; i++ ) { 
        if ( arr2[ i ] === undefined ) {
            arr2.splice( i, 1 );
            i--;
        }
    };
    arr2; // => ["a", null, "b"]

</script>

</body>
</html>
Braska 2015-07-08
  • 打赏
  • 举报
回复
<script>
	var City = [
        { "CityID": 1, "CityName": "深圳", "FirstPY": "S", "IsHot": true, "Sort": 0 },
         { "CityID": 2, "CityName": "广州", "FirstPY": "G", "IsHot": true, "Sort": 0 },
        { "CityID": 3, "CityName": "东莞", "FirstPY": "D", "IsHot": false, "Sort": 0 },
        { "CityID": 4, "CityName": "澳门", "FirstPY": "A", "IsHot": false, "Sort": 0 }
        ];
		City.splice(1,2); //开始位置,删除个数
		alert(City[1].CityID);//弹出4
</script>

87,904

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧