0

我想在 oldList 中选择某些元素,然后创建一个新元素,如下所示

Example#1:获取奇数
oldList = {1,2,3,4,5,6,7,8}
newList = {1,3,5,7}

Example#2: 获取字符串
oldList = {1,"Tiger",{1,2,3}
newList = {"Tiger"}

我为示例 1 编写了一个脚本:

set oldList to {1, 2, 3, 4, 5, 6}  

set newList to {}  
repeat with theItem in oldList  
    if theItem mod 2 = 1 then  
        copy theItem to end of newList  
    end if  
end repeat

我希望 newList 应该是 {1,3,5} 但实际上它是 {oldList 的第 1 项,oldList 的第 2 项,oldList 的第 3 项}。我的问题是如何解决这个问题。

至于这个具体的例子,一个简单的解决方案是将复制语句更改为:

copy theItem as integer to end of newList 

但我正在寻找一个更通用的解决方案,而不是繁琐地考虑旧列表中元素的类。谢谢!

4

1 回答 1

0

您应该阅读有关AppleScript 中重复循环如何工作的更多信息。

set oldList to {1, 2, 3, 4, 5, 6}

set newList to {}
repeat with theItem in oldList
    set theItem to contents of theItem
    if theItem mod 2 = 1 then
        copy theItem to end of newList
    end if
end repeat
于 2013-06-17T19:03:14.473 回答