Array.push (), если не существует?

Вы можете попробовать это:

let loginVc = storyboard?.instantiateViewController(withIdentifier: screenId)
let aObjNavi = UINavigationController(rootViewController: loginVc)
let appDelegate: AppDelegate = (UIApplication.shared.delegate as? AppDelegate)!
appDelegate.window?.rootViewController = aObjNavi

вместо

let vc = storyboard?.instantiateViewController(withIdentifier: screenId)
navigationController?.pushViewController(vc!, animated: true)

Это может помочь вам. Спасибо.

223
задан ManoDestra 13 July 2016 в 06:59
поделиться

2 ответа

Вы могли бы расширить прототип Array с помощью пользовательского метода:

// check if an element exists in array using a comparer function
// comparer : function(currentElement)
Array.prototype.inArray = function(comparer) { 
    for(var i=0; i < this.length; i++) { 
        if(comparer(this[i])) return true; 
    }
    return false; 
}; 

// adds an element to the array if it does not already exist using a comparer 
// function
Array.prototype.pushIfNotExist = function(element, comparer) { 
    if (!this.inArray(comparer)) {
        this.push(element);
    }
}; 

var array = [{ name: "tom", text: "tasty" }];
var element = { name: "tom", text: "tasty" };
array.pushIfNotExist(element, function(e) { 
    return e.name === element.name && e.text === element.text; 
});
105
ответ дан 23 November 2019 в 03:58
поделиться

массива объектов Вы имеете

a.findIndex(x => x.property=="WhateverPropertyYouWantToMatch") <0 ? 
a.push(objectYouWantToPush) : console.log("response if object exists");
1
ответ дан 23 November 2019 в 03:58
поделиться
Другие вопросы по тегам:

Похожие вопросы: