typescriptにて以下の処理をしたいのですが、newItem[columns[c]]にてエラーになってしまいます。
これを解決するためにはどのようにしたらよいでしょうか。
res.listにはttl,eisbn,url以外にも要素が含まれており、この3つだけ抽出し新たなオブジェクトにしたいです。
const parsedItems = []; const columns = ["ttl","eisbn","url"]; .map((c) => res.column.indexOf(c)); //resのcolumnからttl,eisbn,urlの要素番号を取得 for (const item of res.list) { const newItem = {}; columns.forEach((c) => { //colunmsに格納されたttl,eisbn,urlの要素番号を指定してこの3つだけ取得 newItem[columns[c]] = item[c]; //ここでエラー }); parsedItems.push(newItem);
response.json(一部分)
{ "column":["id","url","img","eisbn","date","ttl","ttl_kana","athr","dprc","bprc","ahid_id","jun_id","cpn_id","ser_id","lbl_id","s_rec","s_new","s_res","s_frc","f_adlt","fc1_id","fc2_id","fc3_id","viewer_id","viewer_url"], "list":[ [1,16749340,"non",9784047366572,0,"浅草鬼嫁日記 あやかし夫婦は今世こそ幸せになりたい。 6","non","藤丸豆ノ介",-1,0,"B's-LOG COMICS",1,0,10000,1000,0,0,0,0,0,"7月1日",0,1,1,"http://search.books.rakuten.co.jp/bksearch/dt/g001/bathr%C6%A3%B4%DD%C6%A6%A5%CE%B2%F0/?s=2"], [2,16749316,"non",9784047366763,0,"虐げられし令嬢は、世界樹の主になりました 1","non","永倉 早",-1,0,"B's-LOG COMICS",1,0,10000,1000,0,0,0,0,0,"7月1日",0,1,1,"http://search.books.rakuten.co.jp/bksearch/dt/g001/bathr%B1%CA%C1%D2%A1%A1%C1%E1/?s=2"], [3,16749314,"non",9784047366770,0,"地味で目立たない私は、今日で終わりにします。 3","non","住吉 文子",-1,0,"B's-LOG COMICS",1,0,10000,1000,0,0,0,0,0,"7月1日",0,1,1,"http://search.books.rakuten.co.jp/bksearch/dt/g001/bathr%BD%BB%B5%C8%A1%A1%CA%B8%BB%D2/?s=2"], [4,16749313,"non",9784047366787,0,"薬師の伯爵令嬢は伝説の仔竜に愛される 2","non","Luna.M",-1,0,"B's-LOG COMICS",1,0,10000,1000,0,0,0,0,0,"7月1日",0,1,1,"http://search.books.rakuten.co.jp/bksearch/dt/g001/bathr%4C%75%6E%61%2E%4D/?s=2"], [5,16749318,"non",9784047366794,0,"妹に婚約者を譲れと言われました 最強の竜に気に入られてまさかの王国乗っ取り? 4","non","hi8mugi",-1,0,"B's-LOG COMICS",1,0,10000,1000,0,0,0,0,0,"7月1日",0,1,1,"http://search.books.rakuten.co.jp/bksearch/dt/g001/bathr%68%69%38%6D%75%67%69/?s=2"], 以下略
エラー文
型 'any' の式を使用して型 '{}' にインデックスを付けることはできないため、要素は暗黙的に 'any' 型になります。
試したこと
以下のようにキーを指定してみたりしましたが、うまくいきませんでした。
const newItem = { isbn: String, title: String, url: String, };
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/06/20 07:52 編集
2021/06/20 08:53
2021/06/23 01:44