teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

$は2回以上使っているのでres.$に置き換えず変数宣言するよう修正

2020/01/21 05:58

投稿

miyabi-sun
miyabi-sun

スコア21461

answer CHANGED
@@ -21,7 +21,8 @@
21
21
  const url = "http://weather.livedoor.com/forecast/rss/area/130010.xml";
22
22
  // await構文使わないとasync関数の意味がないからね!
23
23
  const res = await httpcli.fetch(url, {});
24
+ const $ = res.$;
24
- res.$("item > title").each((index, elem) => {
25
+ $("item > title").each((index, elem) => {
25
26
  var e = $(elem);
26
27
  console.log(e.text()); // テキスト部分を表示
27
28
  result = {
@@ -86,7 +87,8 @@
86
87
  ```js
87
88
  // eachを使う場合
88
89
  let titles = [];
90
+ const $ = res.$;
89
- res.$("item > title").each((index, elem) => {
91
+ $("item > title").each((index, elem) => {
90
92
  titles.push("おはようございます。今週の天気です > " + $(elem).text());
91
93
  });
92
94
  result = {
@@ -95,7 +97,8 @@
95
97
  }
96
98
 
97
99
  // 配列にするならmapを使った方がスマートだね
100
+ const $ = res.$;
98
- const titles = res.$("item > title").map((_, elem) =>
101
+ const titles = $("item > title").map((_, elem) =>
99
102
  "おはようございます。今週の天気です > " + $(elem).text()
100
103
  ).get();
101
104
  result = {