javascript - Excel Office 脚本 - 尝试推送 2D 数组时出错
问题描述
我在理解上遇到了问题,我会尽量对我的问题进行基本处理,因为它涉及大量数据。这是一个简单的模型。
在下面的 myArray 中,我正在尝试以 [[element],[element],[element]] 的形式创建一个新的二维数组 (arrayFinal),以便能够将 setValues() 与 Excel Office 脚本一起使用。在此示例中,每个元素应包含 2 个以上的元素。
但我真的不会以我的方式去任何地方。
我只得到一个返回,有太多 [[[]]] (一个太多),并且只有最后一个元素重复。
[[[1,5,7]],[[1,5,7]],[[1,5,7]],[[1,5,7]],[[1,5,7]] ,[[1,5,7]]]
你能看看并告诉我有什么问题吗?
let myArray: number[][] = [[1, 2, 3], [2, 4], [5, 6, 7],[1],[2,3],[1,5,7]];
let testArray: (string | boolean | number)[][] = [];
let arrayFinal: (string | boolean | number)[][] = [];
myArray.map(x => {
testArray.length = 0;
if (x.length > 2) {
testArray.push(x);
}
arrayFinal.push(testArray);
})
console.log(JSON.stringify(arrayFinal))
谢谢 !
解决方案
如果我理解正确,您正在尝试过滤原始二维数组以仅包含具有超过 2 个元素的子数组,对吗?
想知道你是否想尝试这样的事情:
let myArray: number[][] = [[1, 2, 3], [2, 4], [5, 6, 7],[1],[2,3],[1,5,7]];
let arrayFinal = myArray.filter(arr => arr.length > 2);
console.log(JSON.stringify(arrayFinal))
输出应该是:
[[1,2,3],[5,6,7],[1,5,7]]
推荐阅读
- ruby-on-rails - 如何让我的 API 在 Ruby 中返回多个值
- c - 如何使用 realloc 改变内存大小?
- node.js - AWS lambda - "errorMessage": "Apple"
- javascript - how do i create a new object based off an array and another object?
- android - SharedViewModel not clearing when poping fragment
- igraph - 选择彼此间距均匀的节点
- c# - Console.ReadKey seems to be reading the wrong key?
- javascript - Select all a element in website using pure js
- python - Returns the smallest prime number that is a divisor of x
- angular - 如何从 TypeScript 中的自定义类型中获取值?