【发布时间】:2021-04-23 04:03:29
【问题描述】:
编辑 18.01.21(查看螺栓更改)
我在想办法循环遍历嵌套数组然后以所需顺序存储输出时遇到问题。您能否帮我找出一种方法来完成这项工作或指出我做错了什么?
我想我在这个过程中遗漏了几个步骤。例如,在某个时候打破内部循环并临时存储我的数据。但是,我不确定在什么时候...重要的是要提一下,该代码旨在用于 Google Apps 脚本
我使用的玩具数据如下所示: 我在我的玩具数据中添加了另一种类型的关键字——“十字交叉”和“bob ross”。
var keywords = [ [ ["claude"],["clair"],["carl"], ["criss cross"] ],
[ ["brad"],["bob"],["bill"] ["bob ross"] ] ];
我希望实现的输出如下所示:
[ [ [ '[claude] '],[ '"claude"' ],[ '+claude' ] ],
[ [ '[clair]' ],[ '"clair"' ],[ '+clair' ] ],
[ [ '[carl]' ],[ '"carl"' ],[ '+carl' ] ],
[ [ '[criss cross]' ],[ '"criss cross"' ], [ '+criss +cross' ] ],
[ [ '[brad]' ],[ '"brad"' ],[ '+brad' ] ],
[ [ '[bob]' ],[ '"bob"' ],[ '+bob' ] ],
[ [ '[bill]' ],[ '"bill"' ],[ '+bill' ] ],
[ [ '[bob ross]' ],[ '"bob ross"' ], [ '+bob +ross' ] ] ]
但是,我正在创建的输出如下:
[ [ [ '[claude]' ],[ '[clair]' ],[ '[carl]' ],[ '[brad]' ],[ '[bob]' ],[ '[bill]' ] ],
[ [ '"claude"' ],[ '"clair"' ],[ '"carl"' ],[ '"brad"' ],[ '"bob"' ],[ '"bill"' ] ],
[ [ '+claude' ],[ '+clair' ],[ '+carl' ],[ '+brad' ],[ '+bob' ],[ '+bill' ] ] ]
这是我使用的代码:
var keywords = [[["claude"],["clair"],["carl"]],
[["brad"],["bob"],["bill"]]];
var keywords = [].concat.apply( [], keywords );
const PERMUTATION = function permuation( item ) {
var exact = [];
var phrase = [];
var modyfied = [];
for( let i = 0 ; i < item.length ; i++ ) {
var output1 = "[" + item[i] + "]";
exact.push([output1]);
var output2 = '"' + item[i] + '"';
phrase.push([output2]);
var temp = [item[i][0].split(" ").map( i => "+" + i ).join(" ")];
modyfied.push(temp);
}
return new Array( exact, phrase, modyfied ) ;
}
var output = PERMUTATION(keywords);
console.log(output)
【问题讨论】:
标签: javascript arrays for-loop google-apps-script nested