如何从对象返回某些键
How to return certain keys from an object
这是我的对象:
a={"a":"1","b":"2","c":"3","d":"4","e":"5","f":"6"}
这将返回所有键:
Object.keys(a)
["a", "b", "c", "d", "e", "f"]
这将返回除"a"之外的所有键:
Object.keys(a).filter(function(k) {return k !== 'a'})
["b", "c", "d", "e", "f"]
如何返回除 1 个或多个密钥(例如 a
或 b
或 c
之外的所有密钥?
我已经尝试了一些排列,但似乎无法得到它,下面的 1,或者也许这样是不可能的?
Object.keys(a).filter(function(k) {return k !== ('a','b')})
["a", "c", "d", "e", "f"]
Object.keys(a).filter(function(k) {
return ["a", "b"].indexOf(k) === -1;
});
只需在匹配的数组中添加所需的键(与 indexOf 一起使用的数组)
如果你想要更便携的东西:
function excludeKeys(obj, keys) {
return Object.keys(obj).filter(function(k) {
return keys.indexOf(k) === -1;
});
}
这样,您可以添加任意数量的排除键。
ES6 (ECMAScript 2015) 您可以使用箭头函数:
Object.keys(a).filter(k => !~['a', 'b', 'c'].indexOf(k));
并非所有环境都支持 ES6,因此您可以使用 ES5 替代方案:
Object.keys(a).filter(function(k) {
return !~['a', 'b', 'c'].indexOf(k);
});
var a = ["a", "b", "c", "d", "e", "f"]
var b = a.filter(function(k) {return ['a','b'].indexOf(k) < 0})
// b => [ 'c', 'd', 'e', 'f' ]
相关文章:
- javascript函数,它接受两个输入:一个对象和一个键,并返回对象中该键的相应值
- 通过数组值返回对象
- JavaScript:返回对象的函数
- 为什么document.getElementsByClassName(“className”)返回对象
- 如何返回对象
- Promise没有;t返回对象的数组
- 面料:“;鼠标:向下”;在event.target中未返回对象
- Lodash:返回对象的第一个键,该对象的值(即数组)中有一个给定的元素(即字符串)
- Javascript:返回对象
- 为什么 javascript 返回对象位置 true 或 false
- 解析查询查找方法返回对象而不是数组
- 来自函数的返回对象在 jQuery 中未从 $.post 定义
- JavaScript 返回对象未按预期工作
- 返回“[对象对象] NaN” - Javascript
- 何时从创建返回对象
- Javascript:接收对象并返回对象中描述的所有数字的列表的函数
- JSDoc:返回对象结构
- node.js请求返回对象
- 返回对象的ECMAScript 6箭头函数
- 如何从控制器返回对象列表并使用JQuery(SpringMVC,ajax)显示它们