首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >数组不会替换索引处的值。

数组不会替换索引处的值。
EN

Stack Overflow用户
提问于 2019-04-29 06:14:07
回答 3查看 71关注 0票数 0

无法替换数组中对象的值:

代码语言:javascript
运行
复制
var uploadedProductPhotos=[]; //global

稍后,我将另一个数组复制到此数组中:

代码语言:javascript
运行
复制
uploadedProductPhotos=input.files;

并打印它,以检查--实际上是--我在数组中得到了正确的3个文件。然后我尝试替换第一个元素:

代码语言:javascript
运行
复制
uploadedProductPhotos[0]=input.files[0];
console.log(uploadedProductPhotos[0]);
console.log(input.files[0]);
console.log(uploadedProductPhotos);

前两个日志将显示前一个文件和新文件(input.files[0]),但最后一个日志将显示原始数组,因此第一个元素保持不变,不被console.log(input.files[0]);打印的元素替换。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2019-04-29 06:25:50

显然,我一开始并没有真正复制数组。通过将每个元素单独添加到数组中来解决:

代码语言:javascript
运行
复制
uploadedProductPhotos.push(input.files[k]);

也可以用slice函数复制数组来求解。

票数 0
EN

Stack Overflow用户

发布于 2019-04-29 06:27:27

您可以尝试使用es6语义,而不是单独推送元素。

代码语言:javascript
运行
复制
uploadedProductPhotos=[...input.files]

它将所有文件推送到var uploadedProductPhotos中。

票数 0
EN

Stack Overflow用户

发布于 2019-04-29 09:20:49

如何替换索引上的项有以下几个选项:-使用推函数、-使用片函数(带有正确的参数)、-使用rest参数表示新值

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

https://stackoverflow.com/questions/55897872

复制
相关文章

相似问题

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