# Array path identifier wild card

**URL:** <https://discourse.nodered.org/t/array-path-identifier-wild-card/66043>\
**Category:** General\
**Created:** [5 August 2022 00:25 UTC](https://discourse.nodered.org/t/array-path-identifier-wild-card/66043 "2022-08-05T00:25:42Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![zunder1990](https://avatars.discourse-cdn.com/v4/letter/z/a698b9/32.png) [@zunder1990](https://discourse.nodered.org/u/zunder1990)\
**Post date:** [5 August 2022 00:25 UTC](https://discourse.nodered.org/t/array-path-identifier-wild-card/66043/1 "2022-08-05T00:25:42Z")

</div>

I have array that I am trying to read values from the problem is part of the path changes in my case it is a mac address. Normal path like say from a mysql return would be msg.payload[0].TalkID but in my case it is payload["be:10:3d:xx:xx:xx"].wds. How can I select the wds field when the path could be difficult with every message.

![image](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/7/6/769c3a6ec5d0a19bd08d2a7bd22d1a8dcb3b6e02.png)

---

<div class="post-metadata">

**Author:** ![HaroldPetersInskipp](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/haroldpetersinskipp/32/42319_2.png) [@HaroldPetersInskipp](https://discourse.nodered.org/u/HaroldPetersInskipp)\
**Post date:** [5 August 2022 05:24 UTC](https://discourse.nodered.org/t/array-path-identifier-wild-card/66043/2 "2022-08-05T05:24:26Z")

</div>

Maybe something like this could be a good starting point?

```auto
var keyMatch = function(o,r){

    var c = 0;
    var nO = {};

    Object.keys(o).forEach(function(k){
        c++;
        no[k] = k.match(r) ? o[k] : void 0;
    });

    return ( ~c ? JSON.stringify(JSON.parse(nO)) : null );
};

var test = {
    '00:02:02:34:72:a5': 'abc' ,
    'Hello world': 'acb',
    '00:02:02:34:72:a3': 'def'
};

keyMatch(test,/^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})|([0-9a-fA-F]{4}\\.[0-9a-fA-F]{4}\\.[0-9a-fA-F]{4})$/gmi;

```

---

<div class="post-metadata">

**Author:** ![E1cid](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/e1cid/32/77971_2.png) [@E1cid](https://discourse.nodered.org/u/E1cid)\
**Post date:** [5 August 2022 06:04 UTC](https://discourse.nodered.org/t/array-path-identifier-wild-card/66043/3 "2022-08-05T06:04:11Z")

</div>

you could use object.keys() to find the property name.

```auto
msg.payload = msg.payload[Object.keys(msg.payload)[0]].wds
return msg

```

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/1X/d073cd938eafa2e558d7c2cd59003b3ef4963033.png) [@system](https://discourse.nodered.org/u/system)\
**Post date:** [19 August 2022 06:04 UTC](https://discourse.nodered.org/t/array-path-identifier-wild-card/66043/4 "2022-08-19T06:04:56Z")

</div>

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.
