tengo una matriz con permisos de Facebook y una matriz de los permisos que el usuario da shouldve:comparar dos matrices si claves coinciden con underscore.js
window.FB.api('/me/permissions', function(perm){
if(perm){
var given_permissions = _.keys(perm['data'][0];
var needed_permissions = ["publish_stream", "email"];
//now check if given permissions contains needed permissions
}
}
Ahora quiero comparar si todo el needed_permissions
son en given_permissions
, en una forma inteligente de subrayado (sin bucles dos arreglos yo mismo y comparar valores). Vi un método _.include
, pero esto compara una matriz con un valor. Quiero volver verdadero si todos los permisos están disponibles y de lo contrario es falso. Estaba buscando una buena línea de llamada si es posible.
La razón para esto es que FB.login
devuelve verdadero incluso si el usuario elige cancelar los permisos extendidos. Entonces necesito verificar esto dos veces.
También es una buena solución. Tendré que marcar el otro como respuesta, porque básicamente eso es lo que pedí, pero creo que usaré esta solución para poder proporcionar mejores comentarios. – Jareish
No estoy de acuerdo y creo que sería mucho más útil hacer de esto su respuesta aceptada. _.difference es exactamente lo que pediste ("compara dos matrices si las claves coinciden con underscore.js"; el resto fue realmente especulación, creo) y de hecho la respuesta que "aceptaste" porque la usaste. Solo un pensamiento para ayudar a otros a mirar esto. Supongo que no todos revisarán la respuesta aceptada. La respuesta aceptada es bastante pobre como solución, ya que no agrega nada cuando el subrayado proporciona una función para hacer exactamente eso "fuera de la caja". – SuperDuperApps