scanIndexed
val numbers = arrayOf(1, 2, 3, 4, 5)
// 计算累积索引加权和,累积索引加权和: [0, 1, 5, 14, 30, 55]
numbers.scanIndexed(0) { index, acc, element -> acc + element * (index + 1) }.forEach {
_console.log(it)
}
def numbers = $objectWrappers.wrap($arrays.arrayOf($plugins.loadClass("java.lang.Integer"), 1, 2, 3, 4, 5))
// 计算累积索引加权和,累积索引加权和: [0, 1, 5, 14, 30, 55]
numbers.scanIndexed(0) { index, acc, element -> acc + element * (index + 1) }.forEach {
$console.log(it)
}
let numbers = $objectWrappers.wrap($arrays.arrayOf($plugins.loadClass("java.lang.Integer"), 1, 2, 3, 4, 5))
// 计算累积索引加权和,累积索引加权和: [0, 1, 5, 14, 30, 55]
numbers.scanIndexed(0, (index, acc, element) => acc + element * (index + 1)).forEach((it) => {
$console.log(it)
})
local numbers = _objectWrappers:wrap(_arrays:arrayOf(_plugins:loadClass("java.lang.Integer"), 1, 2, 3, 4, 5))
-- 计算累积索引加权和,累积索引加权和: [0, 1, 5, 14, 30, 55]
numbers:scanIndexed(0, function(index, acc, element)
return acc + element * (index + 1)
end) :forEach(function(it)
_console:log(it)
end)
<?php
$numbers = $objectWrappers->wrap($arrays->arrayOf($plugins->loadClass("java.lang.Long"), 1, 2, 3, 4, 5));
// 计算累积索引加权和,累积索引加权和: [0, 1, 5, 14, 30, 55]
$numbers->scanIndexed(0, function ($index, $acc, $element) {
return $acc + $element * ($index + 1);
})->forEach(function ($it) use ($console) {
$console->log($it);
});
numbers = _objectWrappers.wrap(_arrays.arrayOf(_plugins.loadClass("java.lang.Long"), 1, 2, 3, 4, 5))
# 计算累积索引加权和,累积索引加权和: [0, 1, 5, 14, 30, 55]
numbers.scanIndexed(0, lambda index, acc, element: acc + element * (index + 1)).forEach(lambda it: _console.log(it))
# encoding: utf-8
numbers = $objectWrappers.wrap($arrays.arrayOf($plugins.loadClass("java.lang.Long"), 1, 2, 3, 4, 5))
# 计算累积索引加权和,累积索引加权和: [0, 1, 5, 14, 30, 55]
numbers.scanIndexed(0) { |index, acc, element| acc + element * (index + 1) }.forEach { |it|
$console.log(it)
}
Last modified: 09 September 2025