js删除json数据中指定元素

 delete 删除数组方法:

function removeJSONRows() {
	var tab = {
		"dataRows": [
			{"id": 1,"name": "使用部门"},
			{"id": 2,"name": "车辆走行路线"},
			{"id": 3,"name": "使用类别"}
		]
	}
	
	var rs = tab['dataRows'];
	for (var i in rs) {
		if (rs[i]['id'] === 2) {
			// delete 方法仅将数组中元素删除,数组空间位置还保留着,因此,删除后的数组长度依然为3。
			delete rs[i];
		}
	}

	console.log(rs);
	console.log(JSON.stringify(rs), rs.length);
}

js删除json数据中指定元素_第1张图片

----------------------------------------------------------------------------------------------------------------------

splice 删除数组方法:

function removeJSONRows() {
	var tab = {
		"dataRows": [
			{"id": 1,"name": "使用部门"},
			{"id": 2,"name": "车辆走行路线"},
			{"id": 3,"name": "使用类别"}
		]
	}
	
	var rs = tab['dataRows'];
	for (var i in rs) {
		if (rs[i]['id'] === 2) {
			// splice 方法将数组中元素彻底删除,删除后的数组长度为2。
			rs.splice(i,1);
		}
	}

	console.log(rs);
	console.log(JSON.stringify(rs), rs.length);
}

js删除json数据中指定元素_第2张图片

----------------------------------------------------------------------------------------------------------------------

filter 方法删除数组元素

function removeJSONRows() {
	var tab = {
		"dataRows": [
			{"id": 1,"name": "使用部门"},
			{"id": 2,"name": "车辆走行路线"},
			{"id": 3,"name": "使用类别"}
		]
	}
	
	// filter 删除等价于 splice 方法,彻底将元素从数组中清除掉。
	var rs = tab['dataRows'].filter((rows) => rows['id'] != 2);

	console.log(rs);
	console.log(JSON.stringify(rs), rs.length);
}

js删除json数据中指定元素_第3张图片

你可能感兴趣的:(javascript,json,前端)