相关疑难解决方法(0)

带有索引的Ruby`very_with_object`

我想这样做a.each_with_objectindex,在比这更好的办法:

a = %w[a b c]
a.each.with_index.each_with_object({}) { |arr, hash|  
  v,i = arr
  puts "i is: #{i}, v is #{v}" 
}

i is: 0, v is a
i is: 1, v is b
i is: 2, v is c
=> {}
Run Code Online (Sandbox Code Playgroud)

有没有办法做到这一点没有v,i = arr

ruby

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

如何访问array_reduce中的当前索引?

阅读了这篇SO post 后,在 PHP 中,我知道您可以通过以下方式index进行迭代array_map

array_map(function($item, $index) { ... }, $items, array_keys($items));
Run Code Online (Sandbox Code Playgroud)

使用时如何获得$index可用的资源array_reduce?我试过了:

array_reduce($items, array_keys($items), function($acc, $item, $index) { ... }, array());

array_reduce($items, function($acc, $item, $index) { ... }, array(), array_keys($items));
Run Code Online (Sandbox Code Playgroud)

但我似乎仍不能得到$indexarray_reduce。有没有人成功地做到过这一点?

编辑

这里有一些关于我为什么问这个问题的背景。

我不想使用,foreach因为我必须改变外部的数组foreach才能创建我的集合。我宁愿避免突变。

其他语言允许人们reduce像在JavaScriptRuby 中一样使用和访问当前索引。我希望在 PHP 中获得相同的功能。那好吧!看起来我将不得不使用 aforeach来创建我的数组,同时还要在迭代下使用当前索引。

php

6
推荐指数
2
解决办法
2788
查看次数

标签 统计

php ×1

ruby ×1