如何像在 php 上一样在 node.js 上执行 foreach
How to do foreach on node.js like on php
我有一个看起来像这样的字符串:
{ '19694':
{ ignore_ignore_id: '19694',
ignore_messages: '1',
ignore_signatures: '1',
ignore_topics: '1',
ignore_chats: '0' },
'19917':
{ ignore_ignore_id: '19917',
ignore_messages: '1',
ignore_signatures: '0',
ignore_topics: '0',
ignore_chats: '0' },
'25895':
{ ignore_ignore_id: '25895',
ignore_messages: '0',
ignore_signatures: '0',
ignore_topics: '0',
ignore_chats: '1' } }
我只需要其中“ignore_chats”= 1 的 ID,所以我希望得到以下输出:[25895]
我曾在 php 上使用以下代码实现此目的:
$igusers = unserialize($ignored);
foreach($igusers as $key => $value) {
if($value['ignore_chats'] == 1) {
$ignoredids .= "[".$value['ignore_ignore_id']."]";
}
}
但现在我在 node.js 上,但我无法获得执行此操作的正确代码。我试过这个:
foreach (key, igusers)
var value, ignoredids;
value = igusers[key];
if(value['ignore_chats'] == 1) {
ignoredids += "["+value['ignore_ignore_id']+"]";
}
但我收到很多“意外令牌”错误。我做了一些研究,但未能找到更直接的解决方案。我在这里错过了什么?
谢谢。
你使用了错误的for循环,这样做:
let igusers = {
'19694':
{
ignore_ignore_id: '19694',
ignore_messages: '1',
ignore_signatures: '1',
ignore_topics: '1',
ignore_chats: '0'
},
'19917':
{
ignore_ignore_id: '19917',
ignore_messages: '1',
ignore_signatures: '0',
ignore_topics: '0',
ignore_chats: '0'
},
'25895':
{
ignore_ignore_id: '25895',
ignore_messages: '0',
ignore_signatures: '0',
ignore_topics: '0',
ignore_chats: '1'
}
};
let ignoredids = '';
for (const key in igusers) {
const value = igusers[key];
if (value['ignore_chats'] == 1) {
ignoredids += "[" + value['ignore_ignore_id'] + "]";
}
}
console.log(ignoredids);
// [25895]
javascript
中的for循环类型很少
- 经典for循环
- forof 循环
- forin 循环
- foreach 循环
这里有几个例子:
let arrayWithFewMemebrs = ['array m1', 'array m2']
let objectWithFewMembers = {
'member1': 'object m1',
'member2': 'object m2'
}
//
// Types of for you can use for an array
//
// Classic for loop
for (let index = 0; index < arrayWithFewMemebrs.length; index++) {
const arrayMemebrValue = arrayWithFewMemebrs[index];
}
// Forof loop
for (const arrayMemebrValue of arrayWithFewMemebrs) {
}
// Foreach loop
arrayWithFewMemebrs.forEach((value, index) => {
// You cant access to key
// but index is accesible
})
//
// Types of for you can use for an object
//
// Forin loop
for (const key in objectWithFewMembers) {
if (Object.hasOwnProperty.call(object, key)) {
const objectMemebrValue = object[key];
}
}
我有一个看起来像这样的字符串:
{ '19694':
{ ignore_ignore_id: '19694',
ignore_messages: '1',
ignore_signatures: '1',
ignore_topics: '1',
ignore_chats: '0' },
'19917':
{ ignore_ignore_id: '19917',
ignore_messages: '1',
ignore_signatures: '0',
ignore_topics: '0',
ignore_chats: '0' },
'25895':
{ ignore_ignore_id: '25895',
ignore_messages: '0',
ignore_signatures: '0',
ignore_topics: '0',
ignore_chats: '1' } }
我只需要其中“ignore_chats”= 1 的 ID,所以我希望得到以下输出:[25895]
我曾在 php 上使用以下代码实现此目的:
$igusers = unserialize($ignored);
foreach($igusers as $key => $value) {
if($value['ignore_chats'] == 1) {
$ignoredids .= "[".$value['ignore_ignore_id']."]";
}
}
但现在我在 node.js 上,但我无法获得执行此操作的正确代码。我试过这个:
foreach (key, igusers)
var value, ignoredids;
value = igusers[key];
if(value['ignore_chats'] == 1) {
ignoredids += "["+value['ignore_ignore_id']+"]";
}
但我收到很多“意外令牌”错误。我做了一些研究,但未能找到更直接的解决方案。我在这里错过了什么?
谢谢。
你使用了错误的for循环,这样做:
let igusers = {
'19694':
{
ignore_ignore_id: '19694',
ignore_messages: '1',
ignore_signatures: '1',
ignore_topics: '1',
ignore_chats: '0'
},
'19917':
{
ignore_ignore_id: '19917',
ignore_messages: '1',
ignore_signatures: '0',
ignore_topics: '0',
ignore_chats: '0'
},
'25895':
{
ignore_ignore_id: '25895',
ignore_messages: '0',
ignore_signatures: '0',
ignore_topics: '0',
ignore_chats: '1'
}
};
let ignoredids = '';
for (const key in igusers) {
const value = igusers[key];
if (value['ignore_chats'] == 1) {
ignoredids += "[" + value['ignore_ignore_id'] + "]";
}
}
console.log(ignoredids);
// [25895]
javascript
中的for循环类型很少- 经典for循环
- forof 循环
- forin 循环
- foreach 循环
这里有几个例子:
let arrayWithFewMemebrs = ['array m1', 'array m2']
let objectWithFewMembers = {
'member1': 'object m1',
'member2': 'object m2'
}
//
// Types of for you can use for an array
//
// Classic for loop
for (let index = 0; index < arrayWithFewMemebrs.length; index++) {
const arrayMemebrValue = arrayWithFewMemebrs[index];
}
// Forof loop
for (const arrayMemebrValue of arrayWithFewMemebrs) {
}
// Foreach loop
arrayWithFewMemebrs.forEach((value, index) => {
// You cant access to key
// but index is accesible
})
//
// Types of for you can use for an object
//
// Forin loop
for (const key in objectWithFewMembers) {
if (Object.hasOwnProperty.call(object, key)) {
const objectMemebrValue = object[key];
}
}