gpt4 book ai didi

javascript - 选择所有以下划线 (_) 开头的对象键

转载 作者:数据小太阳 更新时间:2023-10-29 05:44:59 26 4
gpt4 key购买 nike

我需要在以下对象中创建一个包含所有键(不是值)的数组,其中键以 _ 下划线开头...

在下面的代码片段中,我试图让 getSubscriptions() 返回 ["_foo1", "_foo2"]

let myObj = {
foo0: 'test',
_foo1: 'test',
_foo2: 'test',
foo3: 'test',
};

function getSubscriptions(obj, cb) {
// should return ["_foo1", "_foo2"]
let ret = ["foo1", "_foo2"];
return cb(ret);
}
getSubscriptions(myObj, (ret) => {
if (match(ret, ["_foo1", "_foo2"]) ) {
$('.nope').hide();
return $('.works').show();
}
$('.nope').show();
$('.works').hide();
});

function match(arr1, arr2) {
if(arr1.length !== arr2.length) { return false; }
for(var i = arr1.length; i--;) {
if(arr1[i] !== arr2[i]) { return false;}
}
return true;
}
body {
background: #333;
color: #4ac388;
padding: 2em;
font-family: monospace;
font-size: 19px;
}
.nope {
color: #ce4242;
}
.container div{
padding: 1em;
border: 3px dotted;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="container">
<div class="works">It Works!</div>
<div class="nope">
Doesn't Work...</div>
</div>

最佳答案

您可以使用 Object.keysArray.filter

let myObj = {
foo0: 'test',
_foo1: 'test',
_foo2: 'test',
foo3: 'test',
};

let result = Object.keys(myObj).filter(v => v.startsWith("_"));
console.log(result);

关于javascript - 选择所有以下划线 (_) 开头的对象键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56160960/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com