Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Фильтр массива (https://javascript.ru/forum/dom-window/66715-filtr-massiva.html)

рони 05.01.2017 13:06

Sav2907,
массив этот напишите js
var arr = [....];

Sav2907 05.01.2017 13:16

Array
(
    [0] => Array
        (
            [ActualStartCaoDtZt] => 2016-12-27 06:01:11
            [ActualEndCaoDtZt] => 2016-12-27 06:35:16
            [Tool1Identifier] => 257
            [Tool2Identifier] => 
        )

    [1] => Array
        (
            [ActualStartCaoDtZt] => 2016-12-27 06:38:32
            [ActualEndCaoDtZt] => 2016-12-27 06:48:02
            [Tool1Identifier] => 257
            [Tool2Identifier] => 258
        )

    [2] => Array
        (
            [ActualStartCaoDtZt] => 2016-12-27 06:53:46
            [ActualEndCaoDtZt] => 2016-12-27 06:59:50
            [Tool1Identifier] => 257
            [Tool2Identifier] => 258
        )

    [3] => Array
        (
            [ActualStartCaoDtZt] => 2016-12-27 07:01:30
            [ActualEndCaoDtZt] => 2016-12-27 07:06:41
            [Tool1Identifier] => 258
            [Tool2Identifier] => 257
        )

    [4] => Array
        (
            [ActualStartCaoDtZt] => 2016-12-27 07:08:44
            [ActualEndCaoDtZt] => 2016-12-27 08:04:59
            [Tool1Identifier] => 258
            [Tool2Identifier] => 
        )

    [5] => Array
        (
            [ActualStartCaoDtZt] => 2016-12-27 08:05:25
            [ActualEndCaoDtZt] => 2016-12-27 09:02:06
            [Tool1Identifier] => 257
            [Tool2Identifier] => 
        )

    [6] => Array
        (
            [ActualStartCaoDtZt] => 2016-12-27 09:05:44
            [ActualEndCaoDtZt] => 2016-12-27 09:28:44
            [Tool1Identifier] => 257
            [Tool2Identifier] => 35
        )

    [7] => Array
        (
            [ActualStartCaoDtZt] => 2016-12-27 09:30:28
            [ActualEndCaoDtZt] => 2016-12-27 09:52:36
            [Tool1Identifier] => 257
            [Tool2Identifier] => 35
        )

    [8] => Array
        (
            [ActualStartCaoDtZt] => 2016-12-27 09:55:32
            [ActualEndCaoDtZt] => 2016-12-27 10:12:05
            [Tool1Identifier] => 258
            [Tool2Identifier] => 257
        )

    [9] => Array
        (
            [ActualStartCaoDtZt] => 2016-12-27 10:13:28
            [ActualEndCaoDtZt] => 2016-12-27 10:22:48
            [Tool1Identifier] => 258
            [Tool2Identifier] => 257
        )

    [10] => Array
        (
            [ActualStartCaoDtZt] => 2016-12-27 10:26:21
            [ActualEndCaoDtZt] => 2016-12-27 10:43:00
            [Tool1Identifier] => 257
            [Tool2Identifier] => 248
        )

    [11] => Array
        (
            [ActualStartCaoDtZt] => 2016-12-27 10:44:36
            [ActualEndCaoDtZt] => 2016-12-27 10:55:28
            [Tool1Identifier] => 248
            [Tool2Identifier] => 257
        )

    [12] => Array
        (
            [ActualStartCaoDtZt] => 2016-12-27 11:27:57
            [ActualEndCaoDtZt] => 2016-12-27 11:44:02
            [Tool1Identifier] => 247
            [Tool2Identifier] => 257
        )

)

рони 05.01.2017 13:21

Sav2907,
напишите массив массивом
var arr = [[257,],[257,258]... и т.д.]

Sav2907 05.01.2017 13:30

рони,
var arr = [[257,],[257,258],[257,258],[258,257],[258,],[257,],[257,35],[257,35],[258,257],[258,257],[257,248],[248,257],[247,257]];

рони 05.01.2017 13:40

Цитата:

Сообщение от Sav2907
],[258,257],[258,],[257,],[257,35],[

почему это не считается сменой позиции?

Sav2907 05.01.2017 13:48

Или так правильнее:

var array = {
        "data": {
            "0": {
                "Tool1Identifier": [ "257" ],
                "Tool2Identifier": [ "" ]
            },
            "1": {
                "Tool1Identifier": [ "257" ],
                "Tool2Identifier": [ "258" ]
            },
            "2": {
                "Tool1Identifier": [ "257" ],
                "Tool2Identifier": [ "258" ]
            },
            "3": {
                "Tool1Identifier": [ "258" ],
                "Tool2Identifier": [ "257" ]
            },
            "4": {
                "Tool1Identifier": [ "258" ],
                "Tool2Identifier": [ "" ]
            },
            "5": {
                "Tool1Identifier": [ "257" ],
                "Tool2Identifier": [ "" ]
            },
            "6": {
                "Tool1Identifier": [ "257" ],
                "Tool2Identifier": [ "35" ]
            }
        }
    };

рони,
Потому что эти номера уже установлены на позициях, просто не используются оба

рони 05.01.2017 13:52

Sav2907,
#14 достаточно -- осталось понять логику

рони 05.01.2017 13:54

Sav2907,
попытайтесь ещё раз обьяснить, что такое смена позиции, я пока в тупике.

ksa 05.01.2017 13:58

Цитата:

Сообщение от Sav2907 (Сообщение 439769)
Или так правильнее:

var array = {
        "data": {
            "0": {
                "Tool1Identifier": [ "257" ],
                "Tool2Identifier": [ "" ]
            },
            "1": {
                "Tool1Identifier": [ "257" ],
                "Tool2Identifier": [ "258" ]
            },
            "2": {
                "Tool1Identifier": [ "257" ],
                "Tool2Identifier": [ "258" ]
            },
            "3": {
                "Tool1Identifier": [ "258" ],
                "Tool2Identifier": [ "257" ]
            },
            "4": {
                "Tool1Identifier": [ "258" ],
                "Tool2Identifier": [ "" ]
            },
            "5": {
                "Tool1Identifier": [ "257" ],
                "Tool2Identifier": [ "" ]
            },
            "6": {
                "Tool1Identifier": [ "257" ],
                "Tool2Identifier": [ "35" ]
            }
        }
    };

рони,
Потому что эти номера уже установлены на позициях, просто не используются оба

У тебя какое-то странное отношение к массивам и объектам... :blink:
Твой вариант, но правильнее и без лишних символов... ;)

var array = [
	{
		Tool1: 257
	},
	{
		Tool1: 257,
		Tool2: 258
	},
	{
		Tool1: 257,
		Tool2: 258
	},
	{
		Tool1: 258,
		Tool2: 257
	},
	{
		Tool1: 258
	},
	{
		Tool1: 257
	},
	{
		Tool1: 257,
		Tool2: 35
	}
];

рони 05.01.2017 14:31

Sav2907,
шифровка из центра ...
var arr = [[257,],[257,258],[257,258],[258,257],[258,],[257,],[257,35],[257,35],[258,257],[258,257],[257,248],[248,257],[247,257]];
function fn(arr) {
    return arr.reduce(function(a, b, i, c) {
        var n = c[i - 1];
        return a += +(!i || b[1] !== void 0 && (!n.includes(b[0]) || !n.includes(b[1])))
    }, 0)
};

alert(fn(arr));

includes


Часовой пояс GMT +3, время: 08:23.