首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为什么数组元素不能在JavaScript中使用push方法?

为什么数组元素不能在JavaScript中使用push方法?
EN

Stack Overflow用户
提问于 2021-12-20 03:28:13
回答 5查看 187关注 0票数 -3

代码语言:javascript
运行
复制
var strArr = []
strArr[0].push("someThing Text")
console.log(strArr)

错误:无法读取未定义的属性(读取“推送”)

代码语言:javascript
运行
复制
var strArr = []
strArr[0] = "someThing Text"
console.log(strArr)

数组"someThing文本“

这两者有什么区别?为什么数组元素不能使用推送方法?

EN

回答 5

Stack Overflow用户

发布于 2021-12-20 03:32:28

您正在尝试将索引0处的数组推入另一个数组中。

代码语言:javascript
运行
复制
var strArr = []
strArr.push("someThing Text")
console.log(strArr)

如果您希望您的代码工作,您将需要这样做。

代码语言:javascript
运行
复制
var strArr = [ [] ] // an array in an array
strArr[0].push("someThing Text")
console.log(strArr)
票数 2
EN

Stack Overflow用户

发布于 2021-12-20 03:52:17

简单地说,push是一个数组方法。这意味着它只适用于数组(因为我也是一个学习者,所以我希望得到纠正)。

因此,只有当数组元素也是数组时,push才会对该数组元素应用/操作。另一种理解这一点的方法是注意数组中的元素可能具有不同的数据类型。每种数据类型都有一组不同(预定义的)操作/方法,可以应用于它们。push是一个预定义的方法,只能应用于类型数组的数组或数组元素。

请看下面的片段:

代码语言:javascript
运行
复制
const myArr = ['Hello', 'World', ['Javascript', 'Python', 'PHP'], 100, 'function'];

console.log('Orginal array --> ' + myArr); // Orginal array: Hello,World,Javascript,Python,PHP,100,function
myArr.push(['Vue', 'Angular', 'React']);
console.log('Updated array --> ' + myArr); // Updated array --> Hello,World,Javascript,Python,PHP,100,function,Vue,Angular,React
myArr[2].push('Java');
console.log('Update myArr[2] ' + myArr); // Update myArr[2] Hello,World,Javascript,Python,PHP,Java,100,function,Vue,Angular,React

票数 2
EN

Stack Overflow用户

发布于 2021-12-20 03:33:53

在数组元素上使用的是push方法,而不是数组。您应该使用strArr.push()

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70417114

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档