版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/lym594887256/article/details/80563199
var json: JSON = ["name": "Jack", "age": 25, "list": ["a", "b", "c", ["what": "this"]]]
// json["list"][3]["what"] = "that"//这种写法,无法改变值
json["list",3,"what"] = "that"
let path:[JSONSubscriptType] = ["list",3,"what"]
json[path] = "that----"
let tempArray:[Any] = ["hosten","lyoyongm",["name":"meng"],"core",4,["section":"two"]]
// first只要条件满足一个或者是只要找到任意一个满足条件的都会返回
let matchedLocalExt = tempArray.first { (first) -> Bool in
return first is Dictionary<String,String> || "\(first)" == "core"
}
//匹配值 ▿ Optional<Any>
// ▿ some : 1 element
// ▿ 0 : 2 elements
// - key : "name"
// - value : "meng"
let matchedLocalExtOne = tempArray.first { (first) -> Bool in
return first is Dictionary<String,String>
}
//返回值与上面相同▿ Optional<Any>
// ▿ some : 1 element
// ▿ 0 : 2 elements
// - key : "name"
// - value : "meng"
//简写方式
let SimpleMatchedLocalExtOne = tempArray.first { $0 is Dictionary<String,String>
}
print("匹配第一个元素:\(matchedLocalExt) one:\(matchedLocalExtOne) 简写匹配:\(SimpleMatchedLocalExtOne)")
let matchedFilter = tempArray.filter {"\($0)" == "lyoyongm"}
// - 0 : "lyoyongm"
let matchedFilterMut = tempArray.filter {"\($0)" == "lyoyongm" || $0 is Dictionary<String,Any>}
/*
3 elements
- 0 : "lyoyongm"
▿ 1 : 1 element
▿ 0 : 2 elements
- key : "name"
- value : "meng"
▿ 2 : 1 element
▿ 0 : 2 elements
- key : "section"
- value : "two"
*/
print("过滤匹配 元素:\(matchedFilter) 多条件:\(matchedFilterMut)")
let matcheMapMut = tempArray.map {"\($0)" == "lyoyongm" || $0 is Dictionary<String,Any>}
let matcheMapMutRe = tempArray.map {"\($0)lyoyongm" }
print("map匹配 元素:\(matcheMapMut) map替换:\(matcheMapMutRe)")
/*
配:Optional(["name": "meng"])
过滤匹配 元素:["lyoyongm"] 多条件:["lyoyongm", ["name": "meng"], ["section": "two"]]
map匹配 元素:[false, true, true, false, false, true] map替换:["hostenlyoyongm", "lyoyongmlyoyongm", "[\"name\": \"meng\"]lyoyongm", "corelyoyongm", "4lyoyongm", "[\"section\": \"two\"]lyoyongm"]
*/