How to use the has function from object-path

Find comprehensive JavaScript object-path.has code examples handpicked from public code repositorys.

object-path.has is a method that determines whether a specific property or a nested property exists in an object or not.

128
129
130
131
132
133
134
135
136
137
	if (subscription.variableName === '') {
		return
	}
	if (subscription.subpath === '') {
		this.setVariable(subscription.variableName, typeof msgValue === 'object' ? JSON.stringify(msgValue) : msgValue)
	} else if (typeof msgValue === 'object' && objectPath.has(msgValue, subscription.subpath)) {
		let value = objectPath.get(msgValue, subscription.subpath)
		this.setVariable(subscription.variableName, typeof value === 'object' ? JSON.stringify(value) : value)
	}
})
fork icon0
star icon0
watch icon1

+ 28 other calls in file

14
15
16
17
18
19
20
21
22
23
24
25
26
27
28


const arrayToPath = arr => `/${arr.join('/')}`


const pathDesc = path => path ? `path '${path}' ` : ''


const pathExists = ({metadata, path}) => objectPath.has(metadata, pathToArray({path}))


const pathPieceIsInt = str => parseInt(str, 10).toString() === str


// convert path in slash format to an array for use with object-path
fork icon0
star icon0
watch icon0

How does object-path.has work?

object-path.has is a utility function that checks whether an object has a property at a given path. Internally, it uses a reduce function to iterate over each segment of the path and check if the property exists. If the property is found, the function returns true. If the property is not found, the function returns false. It uses the hasOwnProperty method to check if the property belongs to the object itself, rather than a prototype in the object's inheritance chain.

Ai Example

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
const objectPath = require("object-path");

const obj = {
  a: {
    b: {
      c: "Hello World",
    },
  },
};

const result = objectPath.has(obj, "a.b.c");
console.log(result); // true

const result2 = objectPath.has(obj, "a.b.d");
console.log(result2); // false

In this example, we first import object-path. We then create an object obj with a nested property a.b.c that has the value 'Hello World'. We then use object-path.has to check if obj has the path a.b.c. Since this path exists in obj, result is true. We then check if obj has the path a.b.d, which does not exist, so result2 is false.