当前位置:首页>开发>正文

怎么清空javascript数组 在javascript怎么清空数组

2023-04-12 13:18:24 互联网 未知 开发

 怎么清空javascript数组 在javascript怎么清空数组

怎么清空javascript数组

当一个数组需要清空的时候,很多人使用下面的方法:
复制代码 代码如下:a = []
我们知道javascript变量存储方式分为引用类型和直接量。数组属于对象,即引用类型,引用的是变量指针地址,之所以这样设计也是为了节省内存。
再说到上面的请空数组的方式,如果采用直接赋值一个新数组的方式,那么之前引用的数组可能不会被释放(有其他的引用),例如下面的代码:
复制代码 代码如下:var a = [2,3]var b = aa = []console.log(b)
这时候a和b就不是同一个数组了,清空了a而b还是指到之前的引用地址,除非你是故意的,否则这将会有隐患。
所以最佳的请空数组方式是:将length设置为0,即:
复制代码 代码如下:a.length = 0

在javascript怎么清空数组

方式1,splice
var ary = [1,2,3,4]
ary.splice(0,ary.length)
console.log(ary) // 输出 [],空数组,即被清空了

方式2,length赋值为0
这种方式很有意思,其它语言如Java,其数组的length是只读的,不能被赋值。如
int[] ary = {1,2,3,4}
ary.length = 0

Java中会报错,编译通不过。而JS中则可以,且将数组清空了,
var ary = [1,2,3,4]
ary.length = 0
console.log(ary) // 输出 [],空数组,即被清空了

目前 Prototype中数组的 clear 和mootools库中数组的 empty 使用这种方式清空数组。

Javascript如何判断数组为空?

var s = []
  if(s.length == 0)alert(空数组)
  但是如果你数组里面有用字符串当key的话这个方法会忽略掉那些key。
  如
  var s = []
  s[0] = 1
  s[1] = 2
  s[name] = 张三
  alert(s.length)
  得到2!

  如果你直接跳过前面的key,而写一个较大的值当第一个key,如:
  var s = []
  s[5] = 1
  alert(s.length)
  得到6!

最新文章