js 操作数组

发布网友 发布时间:2022-04-21 14:17

我来回答

2个回答

热心网友 时间:2022-04-07 07:08

List是一个对象数组,数组的表现为[,,,,],数组中的每个元素以“,”隔开。List中仅有一个元素--{"id":"ID00001","name":"一二三四","guig":"100ml","shl":"2","dj":"10","je":"20"}。

但由于实际操作中List可能包含不止一个元素,所以这里并不推荐使用List[0]。

//根据id找到数组中某个元素
function findById(id) {
    for(var i in List) {
        if(List[i].id == id) {
             return List[i];          
        }
    }
    //return null;//这里不return,未在数组中找到时返回undefined
}

/*
 * 1、编写函数removeElement,直接编写方法remove()可能会与某些浏览器冲突。
 * 而delete是关键字,表示删除某个属性。下面将会用到
 */
function removeElement(id) {
    var obj = findById(id);
    if(!obj) {
        return;//未找到元素直接结束方法
    }
    delete obj.id;
    delete obj.name;
    delete obj.shl; 
}

/*
 * 2、编写函数editElement
 */
 function editElement(id, name) {
     var obj = findById(id);
     if(!obj) {
        return;//未找到元素直接结束方法
     }
     obj.name = name;
 }
 
 /*
  * 当然还有另外一种方法去修改元素
  */
  //将源对象的属性覆盖到目标对象
 function extend(target, source) {
    for (var p in source) {
        if (source.hasOwnProperty(p)) {
            target[p] = source[p];
        }
    }
    return target;
 }
 
/*
 * 2、编写函数editElement
 * src = {"id":"ID00001","name":"四五六七","guig":"200ml","shl":"3","dj":"10","je":"20"}
 */
 function editElement(src) {
     //判断是否是对象
     f(typeof obj=="object") {
         return;
     }
     var obj = findById(src.id);
     if(!obj) {
        return;//未找到元素直接结束方法
     }
     extend(obj, src);
 }


热心网友 时间:2022-04-07 08:26

可以这么做:
1、删除的话不好做,因为是json对象,是一个整体,虽然知道ID00001,但是无法删除,因为已经跨越对象了。

2、你这个数组放的其实是json对象,那么先从数组里取出json,然后对json进行处理,值是可以修改的,改完以后再push到数组里。
声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com