使用“for in”的检查键返回未定义
checking key using 'for in' returns undefined
我正在检查另一个对象的对象中是否存在键,所以我正在做这样的事情:
var user = {
'email' : 'dothis',
'derp' : 'yo'
};
然后我正在检查它是否存在于此:
var cookies = {
'email':'hello@gmail.com'
}
我像这样检查:
for(var key in cookies) {
if(user[key]){
// do this
}
}
但无论我做什么,它都会返回未定义。但是,当我只是这样做时,它确实有效:
user['email'];
这是正确的。
编辑:让我补充一下我正在做的事情。
所以我使用此功能在浏览器中获取所有 cookie:
getAllCookies : function(){
var pairs = document.cookie.split(";");
var cookies = {};
for (var i=0; i<pairs.length; i++){
var pair = pairs[i].split("=");
cookies[pair[0]] = unescape(pair[1]);
}
return cookies;
}
从那里我得到了对象饼干。
cookie 字符串中有空格,因此您需要先修剪名称,或者只是用空格拆分:
var pairs = document.cookie.split(/'s*;'s*/);
相关文章:
- 检查数组中是否存在字符串值,并返回找到的数组值js
- 检查文本区域是否为空总是返回false
- 检查一个元素是否有一个类与另一个类总是返回true
- Javascript函数用于检查数字并返回
- 如果我返回表,检查 Ajax 调用是否为 200 OK的最佳方法是什么
- $.ajax 检查返回字符串是否为“错误”
- 使用“in”关键字检查 0 始终返回 true
- hasOwnProperty 在对照父对象属性进行检查时返回 true
- 如何检查服务器是否返回未定义然后忽略它
- Javascript:检查函数本身的相等性,而不是返回值
- 检查从ajax/php返回的数据
- 当chrome检查器为jQuery变量返回[object object]时,如何返回实际数据
- 将一个函数作为参数传递给另一个函数,每次调用函数时检查返回值
- 递归均匀性检查返回未定义
- 检查返回为对象
- 在 javascript 中解析 json 数组时检查返回值
- if / else检查返回false
- 只有当验证检查返回true时才通过ajax POST
- 如何检查返回的值是否为JS.Hash
- 文件存在检查返回未定义