Keys returns a new Array instance with object's keys. Keys are sorted in ascending order. Example: object := NewObject(t, map[string]interface{}{"foo": 123, "bar": 456}) object.Keys().ContainsOnly("foo", "bar")
()
| 167 | // object := NewObject(t, map[string]interface{}{"foo": 123, "bar": 456}) |
| 168 | // object.Keys().ContainsOnly("foo", "bar") |
| 169 | func (o *Object) Keys() *Array { |
| 170 | opChain := o.chain.enter("Keys()") |
| 171 | defer opChain.leave() |
| 172 | |
| 173 | if opChain.failed() { |
| 174 | return newArray(opChain, nil) |
| 175 | } |
| 176 | |
| 177 | keys := []interface{}{} |
| 178 | for _, kv := range o.sortedKV() { |
| 179 | keys = append(keys, kv.key) |
| 180 | } |
| 181 | |
| 182 | return newArray(opChain, keys) |
| 183 | } |
| 184 | |
| 185 | // Values returns a new Array instance with object's values. |
| 186 | // Values are sorted by keys ascending order. |