js二维数组如何添加新的属性和值?

js二维数组如何添加新的属性和值?,第1张

barCodes 是没声明呢,凭空就出来了。在使用它之前,要先定义它。

丢了一行:

i = 0

barCodes = [] // 声明一个空数组,要在.each()之前定义,不然就只有一条……(虽然打印了很多条)

还得改一下报错的那两行,注释掉然后换成:

barCodes.push({"classname":classname,"code":code})// 向空数组添加元素。

console.log(barCodes) 要改成:

console.log(JSON.stringify(barCodes)) // 不然你可能只看到 [{...},...]

这样应该可以了。折腾折腾就好了。

JavaScript中,由于数组长度是可变的,因此可以通过直接定义新的成员而将其添加到数组中:

var o = [2,3,5]

o[3] = 7

console.log(o)//[2,3,5,7]

除了这种方法,还可以通过使用push()语句来达到相同的目的:

o.push(11)

console.log(o)//[2,3,5,7,11]

o.push(13,17)

console.log(o)//[2,3,5,7,11,13,17]

如果需要在数组开头添加新的成员,可以使用unshift()语句:

o.unshift(2014)

console.log(o)//[2014,2,3,5,7,11,13,17]

o.unshift(2013, 2012)

console.log(o)//[2013,2012,2014, 2,3,5,7,11,13,17]

与push()对应,如果需要从数组末尾删除一个成员,可以使用pop()语句,pop()语句将返回这个被删除的成员,而数组长度将减少1:

var p = o.pop()

console.log(p)//17

console.log(o.length)//9

与unshift()对应,如果需要从数组开头删除一个成员,可以使用shift()语句,shift()语句将返回这个被删除的成员,而数组长度将减少1:

var s = o.shift()

console.log(s)//2013

console.log(o.length)//8

除了shift()语句和pop()语句,还可以通过delete *** 作符来删除数组中的成员。与shift()和pop()不同的是,delete *** 作后数组的length属性将保持不变,也即数组将变得不连续。

JavaScript中还可以通过设定数组的length属性来对数组进行修改:当length值小于数组成员数时,JavaScript将对数组进行截取;当length值大于数组成员数时,JavaScript会将数组变得不连续。如果length值只读,那么在数组中直接定义新成员的 *** 作将会失败:

console.log(o)//[2012,2014, 2,3,5,7,11,13]

o.length = 2

console.log(o)//[2012,2014]

o.length = 4

console.log(o)//[2012,2014,undefined,undefined]

var a = [1,2,3]

Object.defineProperty(a, "length", {writable:false})

a[3] = 4

console.log(a)//[1,2,3]


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11852947.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存