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到数组里。