首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >下标数组更改坐标

下标数组更改坐标
EN

Stack Overflow用户
提问于 2018-10-23 18:16:42
回答 1查看 60关注 0票数 0

如何更改Arrays [[Int]]数组中的下标坐标,使单元格的寻址方式为table[column-letter][row-number],与Excel相同,而不是给定表的当前ios table[row-number][column-number],如下所示:

代码语言:javascript
复制
var table = [[0,  1,  2,  3],
             [1, 32, 44, 25],
             [2, 12, 66, 43],
             [3,  3,  4,  5]]

今天是table[2][1] = 12,但我想要table[C][1] = 44

我需要这个变化,以适应公式从Excel到我的应用程序,而不改变坐标系或表格从excel。

我知道在Array类中有一些下标函数可能会有帮助,但是到目前为止我还不能让它工作。

EN

回答 1

Stack Overflow用户

发布于 2018-10-23 18:31:39

Today表2= 12,但我需要表C= 44。

你知道什么是[2][1]吗,你在告诉编译器,

我想要数组中索引为[2]的元素,通过添加另一个[1],您告诉它您需要索引为[1]的元素,该元素位于[2]的结果中。

这是一个ArraysArray,如果你再看一眼,它是这样的,

代码语言:javascript
复制
[[],[],[]] // no matter what is the values inside indexing is always the same

有了这一点,现在让我们看看你想做什么。

代码语言:javascript
复制
[C][1] = 44

正如您现在可能可以看出的那样,这是无效的,因为[C]不是一个有效的索引,因为索引只接受Integer类型。

那么我们能做些什么呢?

嗯,你可以试试字典,阅读关于它们的here

使用字典时,您将能够获得如下所示的值

代码语言:javascript
复制
value = table["C"]?[1]

或者看一下这个例子。

代码语言:javascript
复制
var foo :[String:[Int]] = ["A":[1,2,3], "B":[1,2,3]]
let colm = foo["A"]?[0]

编辑另一个受@Paulw11启发的解决方案

使用此"A".utf16.first! - 65将返回0 index以在数组内使用,因此您可以另外指定从A到Z

代码语言:javascript
复制
table = ["MyChar".utf16.first! - 65][2]
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52946596

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档