相关疑难解决方法(0)

如何在javascript中初始化数组的长度?

我在JavaScript中使用数组(包括w3schoolsdevguru)阅读的大多数教程都建议您可以使用var test = new Array(4);语法将整数传递给Array构造函数来初始化具有一定长度的数组.

在我的js文件中大量使用这种语法之后,我通过jsLint运行了一个文件,它吓坏了:

错误:第1行字符22处的问题:预期')'而是看到'4'.
var test = new Array(4);
第1行第23个问题:预期';' 而是看到')'.
var test = new Array(4);
第1行字符23处的问题:预期标识符而不是')'.

通过阅读jsLint对其行为的解释后,看起来jsLint并不真正喜欢new Array()语法,而是[]在声明数组时更喜欢.

所以我有几个问题.首先,为什么?我是否因使用new Array()语法而冒任何风险?是否存在我应该注意的浏览器不兼容性?第二,如果我切换到方括号语法,有没有办法声明一个数组并将其长度全部设置在一行,或者我必须做这样的事情:

var test = [];
test.length = 4;
Run Code Online (Sandbox Code Playgroud)

javascript arrays jslint

470
推荐指数
14
解决办法
60万
查看次数

默认数组值

有没有办法在javascript中为数组分配默认值?

例如: an array with 24 slots that defaults to 0

javascript arrays

30
推荐指数
6
解决办法
6万
查看次数

Javascript中“空”和“未定义”之间的区别?

根据 ECMAScript,除了其他数据类型之外,还有nullundefined数据类型。但最近我看到了一个叫做empty. 让我们先重新生成它(我将从基本开始):

let a = new Array() //返回[]长度=0

let b = new Array(3) //返回[empty*3]长度=3

let c = new Array(3).fill() //返回[undefined,undefined,undefined]长度=3

怎么办?查看所有定义的元素都是未定义的,它们应该是

  • a[0]=undefined
  • b[0]=undefined
  • c[0]=undefined

主要的东西:如果假设加入到一个元素c在5位即a[5]=4c[undefined,undefined,undefined,empty,4]

这中间的空东西是什么?如果一切都相同,那么开始初始化bc(我说的是[empty*3]& [undefined,undefined,undefined])有什么区别。

答案建议 [此处]:JavaScrip 数组中的空项和未定义项之间有什么区别?没有正确解释它到底是什么。是的,它不能undefined作为undefined一个值,但怎么样null,如果没有null,为什么空不是数据类型?

javascript arrays

5
推荐指数
1
解决办法
1632
查看次数

如何创建定义长度的预填充数组?

我正在尝试创建一个具有定义长度的数组,并用空数组填充它。我已经尝试过使用@stpoa的答案在此处给出的所有可能性,但是我的数组无法正常运行。

给定代码(为示例起见,我对其进行了简化):

const tasksArray = Array(3).fill([])
const tasksArray2 = [[], [], []]
const tasks = ['task1', 'task2']

const fillWithData = (array) => {
  tasks.forEach(task => {
    array[0].push(task)
  })
}
Run Code Online (Sandbox Code Playgroud)

给我一个不正确的输出,tasksArray显然给一个正确的tasksArray2硬编码输出

fillWithData(tasksArray) // [['task1', 'task2'], ['task1', 'task2'], ['task1', 'task2']] => not OK, duplicates values!
fillWithData(tasksArray2) // [['task1', 'task2'], [], []] => that's OK
Run Code Online (Sandbox Code Playgroud)

javascript arrays ecmascript-6

1
推荐指数
2
解决办法
90
查看次数

标签 统计

arrays ×4

javascript ×4

ecmascript-6 ×1

jslint ×1