我知道如果我知道属性的名称,我可以浏览一个对象并找到一个给定的属性。如果我想找到object.foo,我可以使用object [' foo']。
我们说我无法控制数据结构的方式,大约有100个属性,我只需要提取所有以字符串开头的属性&# 39;忍者'但我不知道这些房产的全名。 object.ninjaSword,object.ninjaStar,object.ninjaFavoriteFood等。
如何提取以' ninja'?开头的属性?如果已经回答我并且在搜索过程中错过了它,请提前致谢我的道歉。 :/
答案 0 :(得分:0)
您需要遍历所有属性并过滤那些符合您要求的属性。
例如:
<?php
if(empty($_SESSION['steamid'])){
echo 'Please sign in to view your items.';
}else{
$id = $steamprofile['steamid'];
$key = 'xxxxxxxxxxxxxxxxxxxxxxxxxx';
if($id != null){
$link = file_get_contents('http://steamcommunity.com/profiles/'.$id.'/inventory/json/730/2');
$inventory = json_decode($link, true);
//print_r ($inventory);
print(sizeof($inventory));
foreach($inventory as $item => $id){
for($x = 0; sizeof($item[1]) <= $x; $x+=0){
echo 'ID: '.$id;
}
}
}
}
?>
// iterate over all properties
for (var name in obj) {
// check if the name starts with 'ninja'
if (name.indexOf('ninja') === 0) {
// found a property that starts with 'ninja', so log the property
// name, and the respective value
console.log(name, obj[name]);
}
}
类型还有一个名为Object.keys()
的方法,它将返回该对象的所有属性名称的数组。然后,您可以filter获取符合您要求的所有属性。然后你可以遍历那些并获得属性值。