채택완료

2차원 배열을 1차원 배열로 가져오는법 문의 드립니다.

Copy
arr = [
    ['홍길동','서울','010-2222-3213'],
    ['고순자','인천','010-1234-1233'],
    ['이말숙','대구','010-5543-3234'],
    ['김기수','부산','010-2343-5743'],
    ['마길자','경기','010-5443-3344']
]

 

var arrName = arr.flat(Infinity);

모든 배열값을 1차원으로 가져오는게 아니라

홍길동, 고순자 이 부분만 1차원으로 배열하고 싶은데

이건 어떻게 해야 하나요?

|

답변 3개 / 댓글 3개

채택된 답변
+20 포인트
Copy
var arr = [
    ['홍길동','서울','*** 개인정보보호를 위한 휴대폰번호 노출방지 ***'],
    ['고순자','인천','*** 개인정보보호를 위한 휴대폰번호 노출방지 ***'],
    ['이말숙','대구','*** 개인정보보호를 위한 휴대폰번호 노출방지 ***'],
    ['김기수','부산','*** 개인정보보호를 위한 휴대폰번호 노출방지 ***'],
    ['마길자','경기','*** 개인정보보호를 위한 휴대폰번호 노출방지 ***']
]

var arrName = [];
arr.map(val => arrName.push(val[0]));

console.log(arrName);

답변에 대한 댓글 1개

감사합니다.
2022-02-09 (수) 12:45:03

#php 붙여놔서 PHP용 참고 코드 첨부합니다.

Copy
$arr = [
    ['홍길동','서울','*** 개인정보보호를 위한 휴대폰번호 노출방지 ***'],
    ['고순자','인천','*** 개인정보보호를 위한 휴대폰번호 노출방지 ***'],
    ['이말숙','대구','*** 개인정보보호를 위한 휴대폰번호 노출방지 ***'],
    ['김기수','부산','*** 개인정보보호를 위한 휴대폰번호 노출방지 ***'],
    ['마길자','경기','*** 개인정보보호를 위한 휴대폰번호 노출방지 ***']
];
$names = array_column($arr, 0);
print_r($names);
/*
Array
(
    [0] => 홍길동
    [1] => 고순자
    [2] => 이말숙
    [3] => 김기수
    [4] => 마길자
)
*/

+ array_column() (PHP 5 >= 5.5.0, PHP 7, PHP 8)

- https://www.php.net/manual/en/function.array-column.php

답변에 대한 댓글 1개

아.. php 가 아니라.. jquery 인데요 ㅠㅠ

for 문을 돌려서.. 첫번째 자리의 값만 다른 배열에 저장하면 됩니다.

php 는 아래와 같습니다.

Copy
foreach($arr as $val) {

   $arrName[] = $val[0];

}

답변에 대한 댓글 1개

답변 감사합니다.

답변을 작성하려면 로그인이 필요합니다.