修改数组中的每个值[重复]
Posted
技术标签:
【中文标题】修改数组中的每个值[重复]【英文标题】:Modify every value in an array [duplicate] 【发布时间】:2021-01-29 02:20:11 【问题描述】:任务
您有一个事物列表(数组),并且您想以相同的方式修改所有事物。
例如:
url_list = ['google.com', 'apple.com', 'amazon.com']
期望的输出例如:
www_url = ['www.google.com', 'www.apple.com', 'www.amazon.com']
问题/问题
更新所有在 Apps 脚本中起作用的值的最简单方法是什么。
【问题讨论】:
输入和输出有什么区别,到目前为止你尝试过什么? 好吧,我正在尝试发布有用的解决方案,但还没有足够的积分一次性发布:( Edit 更新“所需输出”的问题。目前输入和输出都是一样的。forEach
确实在应用程序脚本中工作。
【参考方案1】:
@Landsil 发布的解决方案应该可以与 Apps 脚本一起正常工作,但如果不能正常工作,您可以用更传统的方式重写它:
for(let i=0; i<url_list.length; ++i)
www_url[i] = 'www.' + url_list[i];
【讨论】:
【参考方案2】:最简单的方法似乎是使用“地图”功能。
var www_url = url_list.map((url) => 'www.' + url);
您所做的只是在旧值的位置映射新值,并且您可以选择很多方式来修改它。
它还需要第二个参数,因此您可以为某些位置指定不同的更改。就我而言,我需要第一条记录看起来不同。
var netWhitelist_values = url_list.map((url, index) =>
if (index === 0) return (url + '\\');
return ('\\n' + url + '\\');
);
【讨论】:
好的。我只是认为***.com/questions/953311/… 或***.com/questions/12482961/… 或***.com/questions/35879307/… 都会提供易于适应的答案,因此新鲜的自我问答对我来说似乎是多余的。但是……好吧。 foreach 在 appscript 中不起作用。我应该从标签中删除 javascript 吗?正常循环会起作用,是的,我只是在看一些更简单的东西,老实说还没有找到这两个。我一定是问错了问题。 @Landsil - 对不起,为什么普通的forEach
方法在 GAS 中不起作用?仅供参考,GAS 是只是带有一些曲折的 JavaScript(自从转向 V8 运行时更是如此。不过,forEach
也可以在 Rhino 中工作)。顺便说一句,如果您想建立一个初始代表,您可以从查看完全未回答的问题开始,然后对您理解的问题进行尝试:***.com/search?q=%5Bgoogle-apps-script%5D+answers%3A0
我正在尝试使用它,但它没有注册,我用谷歌搜索它并获得了相同的信息。 v8 迁移手册还说应该避免只支持“for。(刚刚发现)是的,我将不得不花更多时间处理新问题,但看起来他们中的大多数人会立即得到答案。【参考方案3】:
你可以这样做:
let url_list = ['google.com', 'apple.com', 'amazon.com']
url_list.forEach(item =>
console.log('www.' + item);
)
【讨论】:
这其实是我原来的计划,但是apps脚本版本的java脚本没有这个功能:( Foreach 确实在应用程序脚本中工作。不知道 OP 对 forEach 做错了什么。以上是关于修改数组中的每个值[重复]的主要内容,如果未能解决你的问题,请参考以下文章