splice(index,howmany[,item1,...,itemx]) :向数组添加或删除元素并返回被删除的元素。
其中,index是需添加或删除的元素的位置。可以为负数,负数从末尾开始倒计数。
howmany是要删除的元素个数,当其值为0时,将不删除任何元素。
当有item元素时,splice将在index位置之前添加item元素
例1:
var arr = new Array(6)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"
arr[3] = "James"
arr[4] = "Adrew"
arr[5] = "Martin"
arr.splice(2,3,"William")
document.write(arr)
删除arr数组2位置开始的3个元素,并添加一个William元素替代被删除的元素。
输出结果为:George,John,William,Martin
例2:
var arr = new Array(6)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"
arr[3] = "James"
arr[4] = "Adrew"
arr[5] = "Martin"
arr.splice(2,0,"William")
document.write(arr + "<br />")
在下标为2的元素前添加William元素。
输出结果为:George,John,William,Thomas,James,Adrew,Martin
在jQuery中,添加元素可以使用如下方法:
$.extend([d],target,object1[,objectN]):用于扩展一个或多个对象,并返回修改后的对象。并不修改原对象。而是复制了一个原对象进行修改的。
参数说明:
d:是一个boolean类型,当为true时,会复制一个副本,并递归的合并副本对象,当为false时,副本会与原对象共享结构。
target:一个待修改的对象
object1:待合并到target对象的第一个对象,
objectN:待合并的第N个对象。
例如:
cel[k] = $.extend({}, cel[k],{"value": data[i][j], "valueMapping": dataMapping[i][j]});
添加value属性和valueMapping属性到cel[k]对象中,并为2个属性赋值。如果cel[k]对象中有这两个属性,那么只是更新这2格属性的值。