๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๐Ÿšถ๐Ÿป์–ด๋””๋กœ ๊ฑท๊ณ ์žˆ๋‹ˆ?

๐Ÿšถ๐Ÿป#22 [React & RN] - some() ๊ณผ filter() ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ฒดํฌ๋ฐ•์Šค ํ† ๊ธ€ ํ•จ์ˆ˜ ๋งŒ๋“ค๊ธฐ

Some()

  • some()์€ ๋ฐฐ์—ด์˜ ๊ฐ ์—˜๋ฆฌ๋จผํŠธ์— ๋Œ€ํ•ด์„œ ํ•จ์ˆ˜์˜ ๋ฐ˜ํ™˜ ๊ฐ’์ด ํ•˜๋‚˜๋ผ๋„ true๊ฐ€ ์žˆ๋Š”์ง€ ํ™•์ธํ•œ๋‹ค
  • ํ•˜๋‚˜๋ผ๋„ true๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด true๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค
  • ๋ชจ๋‘ false์ธ ๊ฒฝ์šฐ๋งŒ false๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค
/* example */

let testArray = ["walker", "jjh", "tistory"];

const someExample = testArray.some((item) => item == "jjh");
console.log(someExample);

Toggle Function

/* example */
const [checkbox, setCheckbox] = useState([]);
const dataArray = ["walker", "jjh", "tistory"];

const handleCheckbox = (checkValue)=>{
  if(checkbox.some((item)=> item === checkValue)){
  	const removedArray = dataArray.filter((data)=> data !== checkValue);
  	setCheckbox(removedArray);
  }else{
  	setCheckbox([...checkbox, checkValue]);
  }
}
  • onPress() ์ด๋ฒคํŠธ๋กœ handleCheckbox ๋ฅผ ๊ฑธ์–ด์ค€๋‹ค
  • handleCheckbox ์˜ ํŒŒ๋ผ๋ฏธํ„ฐ๋Š” ์ฒดํฌํ•œ ๊ฐ’์„ ๋ฐ›๋Š”๋‹ค
  • some() ํ•จ์ˆ˜๋กœ ์ฒดํฌํ•œ ๊ฐ’์ด checkbox ๋ฐฐ์—ด์˜ ์—˜๋ฆฌ๋จผํŠธ๋กœ ์กด์žฌํ•˜๋Š”์ง€ ํ™•์ธํ•œ๋‹ค
  • ์กด์žฌํ•œ๋‹ค๋ฉด filter() ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ checkbox ๋ฐฐ์—ด์—์„œ checkValue ๊ฐ’์„ ์ œ์™ธํ•œ ๋ฐฐ์—ด์„ removedArray ์— ๋„ฃ์–ด์ฃผ๊ณ , setCheckbox(removedArray) ๋กœ ์ตœ์ข… ์ˆ˜์ •ํ•œ๋‹ค
  • ์กด์žฌํ•˜์ง€ ์•Š๋Š”๋‹ค๋ฉด ๊ธฐ์กด checkbox ์˜ ์—˜๋ฆฌ๋จผํŠธ๋“ค๊ณผ checkValue ๋กœ setCheckbox() ๋ฅผ ํ•œ๋‹ค