Open4

MDN Array 覚書

nitakingnitaking

# Array

some

シーン

  • isFlagのようなフラグ管理
  • バリデーション

ex) 入力値(Array)に対して、Arrayの1オブジェクトに必須プロパティが含まれているか。

/** invalidId */
const someArray = [
 { id: 1 }, { id: 2 }, { name: 1 }
];

const invalidId = someArray.some((elem) => elem.id == undefined);

console.log({ invalidId })
// Object { invalidId: true }
/** throw error */
let currentElem = null;

const invalidId = someArray.some((elem, ...option) => {
  currentElem = elem;
  return elem.id == undefined;
});

if (invalidId) {
  throw new Error(`idが不足しているデータがあります ${JSON.stringify(currentElem)}`)
}
// Uncaught Error: idが不足しているデータがあります {"name":1}
nitakingnitaking

# Array

prototype

  • array.values()
  • array.keys()
  • array.entries()

説明

  • ES6から対応
  • entries()keyvalueから構成されるイテレータ
  • values()はvalueのイテレータ
  • keys()はkeyのイテレータ
var arr = ["Red", "Green", "Blue"];
for (const [key, value] of arr.entries()) {
  console.log(key + ":" + value);   // => "0:Red", "1:Green", "2:Blue"
}
for (const key of arr.keys()) {
  console.log(key);                       // => 0, 1, 2
}
for (const value of arr.values()) {
  console.log(value);                      // => "Red", "Green", "Blue"
}

返り値

Iterator

シーン

  • ループ処理するときにfor ofですべて取り扱いたいとき(for ofなのかfor inなのかを意識しない)
  • 好み

参考リンク

http://www.tohoho-web.com/js/array.htm

nitakingnitaking

# Array

prototype

  • array.from()

説明

ArrayLikeなオブジェクトから新しいArrayインスタンスを返す

構文

Array.from(arrayLike[, mapFn[, thisArg]])
  • arrayLike

    • String, Set, Map などの配列ライク
  • mapFn: optional

  • thisArg: optional

返り値

新Arrayインスタンス

シーン

wip

sample

wip