Reputation: 1238
I have an fuctions in JS like below.
manager.addDocument('en', 'bye bye take care', 'greetings.bye');
manager.addDocument('en', 'okay see you later', 'greetings.bye');
manager.addDocument('en', 'bye for now', 'greetings.bye');
manager.addDocument('en', 'i must go', 'greetings.bye');
manager.addDocument('en', 'hello', 'greetings.hello');
manager.addDocument('en', 'hi', 'greetings.hello');
manager.addDocument('en', 'howdy', 'greetings.hello');
manager.addDocument('en', "I'm home now", 'greetings.arrival');
And I changed this into json file.
const bags = [
{ language: 'en', saying: 'bye bye take care', intent: 'greetings.bye' },
{ language: 'en', saying: 'okay see you later', intent: 'greetings.bye' },
{ language: 'en', saying: 'bye for now', intent: 'greetings.bye' },
{ language: 'en', saying: 'i must go', intent: 'greetings.bye' },
{ language: 'en', saying: 'hello', intent: 'greetings.hello' },
{ language: 'en', saying: 'hi', intent: 'greetings.hello' },
{ language: 'en', saying: 'howdy', intent: 'greetings.hello' },
{ language: 'en', saying: "I'm home now", intent: 'greetings.hello' }
];
for (let i; i < bags.length; i += 1) {
manager.addDocument(bas[i].language, bags[i].saying, bags[i].intent);
}
But it doesn't work with same way. How can I use json file well in this case? Thank you so much for reading it.
Upvotes: 2
Views: 171
Reputation: 1
const bags = [
{ language: 'en', saying: 'bye bye take care', intent: 'greetings.bye' },
{ language: 'en', saying: 'okay see you later', intent: 'greetings.bye' },
{ language: 'en', saying: 'bye for now', intent: 'greetings.bye' },
{ language: 'en', saying: 'i must go', intent: 'greetings.bye' },
{ language: 'en', saying: 'hello', intent: 'greetings.hello' },
{ language: 'en', saying: 'hi', intent: 'greetings.hello' },
{ language: 'en', saying: 'howdy', intent: 'greetings.hello' },
{ language: 'en', saying: "I'm home now", intent: 'greetings.hello' }
];
*
- Array of Objects -> const bags
on this example
**
- empty Array of Objects
Using ES6
*.forEach(({key, key2, key3}) => **.addDocument(key, key2, key3);
Or older version
for (let i = 0; i < *.length; i += 1) {
**.addDocument(bags[i].key, bags[i].key2, bags[i].key3);
}
Upvotes: 0
Reputation: 151
You can use this it would be simpler. in your original code, you did a typo in the first argument of manager.addDocument
you wrote bas
instead of bags
for (const bag of bags ) {
manager.addDocument(bag.language, bag.saying, bag.intent);
}
Upvotes: 2
Reputation: 2051
You have two typos:
for (let i; i < bags.length; i += 1) {
should be
for (let i=0; i < bags.length; i += 1) {
2.
manager.addDocument(bas[i].language, bags[i].saying, bags[i].intent);
should be
manager.addDocument(bags[i].language, bags[i].saying, bags[i].intent);
Upvotes: 0
Reputation: 4770
ES6 way of doing the same
bags.forEach(({language, saying, intent}) => manager.addDocument(language, saying, intent));
Upvotes: 4
Reputation: 1432
You neglected to initialize the loop counter. Also you had a typo in bas
.
for (let i = 0; i < bags.length; i += 1) {
manager.addDocument(bags[i].language, bags[i].saying, bags[i].intent);
}
Upvotes: 0