A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://developers.arcgis.com/arcade/function-reference/dictionary_functions/ below:

Dictionary functions | ArcGIS Arcade

A set of functions for working with dictionaries.

DefaultValue

This function has 2 signatures:

DefaultValue(inputDictionary, key, defaultValue) -> Any

Since version 1.26

Function bundle: Core

Returns a specified default value if a key in a dictionary does not exist or the value at the specified key is null or an empty text value.

Parameters

Return value: Any
Returns the value at the specified key if defined. Otherwise, returns the value specified in defaultValue.

Examples

DefaultValue returns a defined value

Use dark colors for code blocks Copy

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
var data = {
  time: Date(2024, 0, 24, 12),
  weather: {
    precipitation: {
      type: "rain",
      value: 0.4,
      unit: "inches"
    },
    temperature: {
      value: 50,
      unit: "f"
    },
    conditions: {
      description: "Overcast"
    }
  }
}

DefaultValue(data, "time", "No time logged")
// value of data.time is defined, so it is returned
// returns Jan 24, 2024, 12:00:00 PM system time

DefaultValue returns a default if there is no value at the specified key.

Use dark colors for code blocks Copy

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
var data = {
  time: '',
  weather: {
    precipitation: {
      type: "rain",
      value: 0.4,
      unit: "inches"
    },
    temperature: {
      value: 50,
      unit: "f"
    },
    conditions: {
      description: "Overcast"
    }
  }
}

DefaultValue(data, "time", "No time logged")
// value of data.time is empty, so the default is returned
// returns "No time logged"

DefaultValue returns a default if the key does not exist.

Use dark colors for code blocks Copy

1
2
3
4
5
6
7
var data = {
  time: ''
}

DefaultValue(data, "conditions", "n/a")
// the conditions key does not exist, so the default is returned
// returns "n/a"
DefaultValue(inputDictionary, keys, defaultValue) -> Any

Since version 1.0

Function bundle: Core

Returns a specified default value if at least one of the keys in a nested dictionary does not exist or the value at the specified key is null or an empty text value.

Parameters

Return value: Any
Returns the value at the specified key or index if defined. Otherwise, returns the value specified in defaultValue.

Examples

DefaultValue returns a defined value

Use dark colors for code blocks Copy

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
var data = {
  time: Date(2024, 0, 24, 12),
  weather: {
    precipitation: {
      type: "rain",
      value: 0.4,
      unit: "inches"
    },
    temperature: {
      value: 50,
      unit: "f"
    },
    conditions: {
      description: "Overcast"
    }
  }
}

DefaultValue(data, ["weather", "precipitation", "value"], "No time logged")
// value of data.weather.precipitation.value is defined, so it is returned
// returns 0.4

DefaultValue returns a default if there is no value at the specified key.

Use dark colors for code blocks Copy

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
var data = {
  time: Date(2024, 0, 24, 12),
  weather: {
    precipitation: {
      type: "rain",
      value: null,
      unit: "inches"
    },
    temperature: {
      value: 50,
      unit: "f"
    },
    conditions: {
      description: "Overcast"
    }
  }
}

DefaultValue(data, ["weather", "precipitation", "value"], 0)
// value of data.weather.precipitation.value is null, so the default is returned
// returns 0

DefaultValue returns a default if the key does not exist.

Use dark colors for code blocks Copy

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
var data = {
  time: Date(2024, 0, 24, 12),
  weather: {
    precipitation: {
      type: "rain",
      value: null,
      unit: "inches"
    },
    temperature: {
      value: 50,
      unit: "f"
    },
    conditions: {
      description: "Overcast"
    }
  }
}

DefaultValue(data, ["weather", "wind", "value"], "n/a")
// the data.weather.wind key does not exist, so the default is returned
// returns "n/a"

Check null value in an array within a dictionary with key that exists

Use dark colors for code blocks Copy

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
var data = {
  time: Date(2024, 0, 24, 12),
  interval: 1,
  intervalUnit: "days",
  weather: {
    precipitation: {
      type: "rain",
      values: [0.4, 0, 0, null, 0.1, 0.8, 1],
      unit: "inches"
    },
    temperature: {
      values: [50, 50, 51, 52, 55, 49, 51],
      unit: "f"
    },
  }
}

DefaultValue(data, ["weather", "precipitation", "values", 3], 0)
// the value data.weather.precipitation.values[3] is null, so the default is returned
// returns 0
Dictionary

This function has 6 signatures:

Dictionary([name1, value1, ..., nameN, valueN]?) -> Dictionary

Since version 1.0

Function bundle: Core

Returns a new dictionary based on the provided arguments. The arguments are name/value pairs. e.g. dictionary('field1',val,'field2',val2,...).

Parameter

Return value: Dictionary

Example

prints 3

Use dark colors for code blocks Copy

1
2
var d = Dictionary('field1', 1, 'field2', 2)
return d.field1 + d.field2
Dictionary(jsonText) -> Dictionary

Since version 1.8

Function bundle: Core

Deserializes JSON text as an Arcade Dictionary.

Parameter

Return value: Dictionary

Example

Deserializes JSON as a Dictionary.

Use dark colors for code blocks Copy

1
2
3
var extraInfo = '{"id": 1, "population": 200, "city": "Spencer, ID"}'
var spencerIDdata = Dictionary(extraInfo)
spencerIDdata.population // Returns 200
Dictionary(inputGeometry) -> Dictionary

Since version 1.23

Function bundle: Geometry

Converts a geometry value to a dictionary.

Parameter

Return value: Dictionary

Example

Update the x attribute of a point geometry.

Use dark colors for code blocks Copy

1
2
3
4
5
6
7
// convert the $feature's geometry to a dictionary
if (TypeOf(Geometry($feature)) == "Point") {
  var ptDict = Dictionary(Geometry($feature));
  ptDict.x *= 2; // stretch horizontally
  // create a new geometry from the updated dictionary
  return Geometry(ptDict);
}
Dictionary(inputFeature) -> Dictionary

Since version 1.23

Function bundle: Core

Converts a feature to a dictionary.

Parameter

Return value: Dictionary

Example

Convert a feature to a dictionary

Use dark colors for code blocks Copy

1
2
// convert $feature to a dictionary
var featureDict = Dictionary($feature);
Dictionary(inputDictionary, deep?) -> Dictionary

Since version 1.23

Function bundle: Core

Creates either a shallow or deep copy of a dictionary.

Parameters

Return value: Dictionary

Examples

Create a shallow copy of a Dictionary

Use dark colors for code blocks Copy

1
2
3
4
5
6
7
8
9
10
11
var inputDict = {
  company: {
    name: "Esri",
    location: "Redlands, CA"
  },
  office: "M123"
};
var copiedDict = Dictionary(inputDict);
return inputDict.company == copiedDict.company
// returns true
// this is a shallow copy of the Dictionary, so the dictionaries share the same references

Create a deep copy of a Dictionary

Use dark colors for code blocks Copy

1
2
3
4
var deepCopy = Dictionary(inputDict, true);
return inputDict.company == deepCopy.company
// returns false
// this is a deep copy of the Dictionary, so the dictionaries do NOT share the same references
Dictionary(inputVoxel) -> Dictionary

Since version 1.30

Function bundle: Core

Converts a voxel to a dictionary.

Parameter

Return value: Dictionary

Example

Convert a voxel to a dictionary

Use dark colors for code blocks Copy

1
2
// convert $voxel to a dictionary
var voxelDict = Dictionary($voxel);
FromJSON FromJSON(jsonText) -> Dictionary | Array<Any> | Text | Boolean | Number

Since version 1.14

Function bundle: Core

Deserializes JSON text into its equivalent Arcade data types.

Parameter

Return value: Dictionary | Array<Any> | Text | Boolean | Number

Examples

Converts text to a boolean

Use dark colors for code blocks Copy

1
2
FromJSON("true")
// Returns true

Converts text to a number

Use dark colors for code blocks Copy

1
2
fromJSON("731.1")
// returns 731.1

Converts text to a dictionary

Use dark colors for code blocks Copy

1
2
3
var d = fromJSON('{"kids": 3, "adults": 4 }')
d.kids + d.adults
// returns 7

Converts text to an array

Use dark colors for code blocks Copy

1
2
fromJSON('["one", 2, "three", false]')
// returns [ "one", 2, "three", false ]

Converts text to null

Use dark colors for code blocks Copy

1
2
fromJSON("null")
// returns null
HasKey HasKey(inputDictionary, key) -> Boolean

Since version 1.0

Function bundle: Core

Indicates whether a dictionary has the input key.

Parameters

Return value: Boolean

Example

prints true

Use dark colors for code blocks Copy

1
2
var d = Dictionary('Port Hope', 16214,  'Grafton', '<1000', 'Cobourg', 18519);
HasKey(d, 'Cobourg');
HasValue

This function has 2 signatures:

HasValue(inputDictionary, key) -> Boolean

Since version 1.20

Function bundle: Core

Indicates whether a dictionary has a given key and if that key has a value.

Parameters

Return value: Boolean

Examples

Dictionary with key that has a value

Use dark colors for code blocks Copy

1
2
3
var d = Dictionary('Port Hope', 16214,  'Grafton', '<1000', 'Cobourg', 18519);
HasValue(d, 'Cobourg');
// returns true

Dictionary with key that does not have a value

Use dark colors for code blocks Copy

1
2
3
var d = Dictionary('Port Hope', 16214,  'Grafton', '<1000', 'Cobourg', null);
HasValue(d, 'Cobourg');
// returns false

Dictionary without the provided key

Use dark colors for code blocks Copy

1
2
3
var d = Dictionary('Port Hope', 16214,  'Grafton', '<1000');
HasValue(d, 'Cobourg');
// returns false

Dictionary without the provided key

Use dark colors for code blocks Copy

1
2
3
if ( HasValue( Schema($feature).fields[0], "domain" ) ) {
  // Do something with the value if true
}
HasValue(inputDictionary, keys) -> Boolean

Since version 1.26

Function bundle: Core

Checks whether a property nested several levels deep in a dictionary has a value. This allows you to drill into a nested structure in one step rather than check values at each level. Returns true if the keys and indexes at each level of the structure exist and include a non-null value.

Parameters

Return value: Boolean

Examples

Check dictionary with key that has a nested value

Use dark colors for code blocks Copy

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
var data = {
  time: Date(2024, 0, 24, 12),
  weather: {
    precipitation: {
      type: "rain",
      value: 0.4,
      unit: "inches"
    },
    temperature: {
      value: 50,
      unit: "f"
    },
    conditions: {
      description: "Overcast"
    }
  }
}

if(HasValue(data, ["weather","precipitation","value"])){
  // if() evaluates to true, thus executing the return
  return data.weather.precipitation.value;
}

Check value in a dictionary with key that does not exist

Use dark colors for code blocks Copy

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
var data = {
  time: Date(2024, 0, 24, 12),
  weather: {
    precipitation: {
      type: "rain",
      value: 0.4,
      unit: "inches"
    },
    temperature: {
      value: 50,
      unit: "f"
    },
    conditions: {
      description: "Overcast"
    }
  }
}

if(HasValue(data, ["weather","precipitation","values", 0])){
  // if() evaluates to false ("values" does not exist), thus avoiding the block
  return data.weather.precipitation.values;
}

Check value in an array within a dictionary with key that does exist

Use dark colors for code blocks Copy

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
var data = {
  time: Date(2024, 0, 24, 12),
  interval: 1,
  intervalUnit: "days",
  weather: {
    precipitation: {
      type: "rain",
      values: [0.4, 0, 0, null, 0.1, 0.8, 1],
      unit: "inches"
    },
    temperature: {
      values: [50, 50, 51, 52, 55, 49, 51],
      unit: "f"
    },
  }
}

if(HasValue(data, ["weather","precipitation","values", 6])){
  // if() evaluates to true, thus executing the return
  return data.weather.precipitation.values[6];
}

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4