Javascript 배열을 문자열로 변환
"값" 목록을 반복해서 문자열로 변환하려고 합니다.코드는 다음과 같습니다.
var blkstr = $.each(value, function(idx2,val2) {
var str = idx2 + ":" + val2;
alert(str);
return str;
}).get().join(", ");
alert(경보) 기능은 정상적으로 작동하며 적절한 값을 표시합니다.하지만 어찌된 일인지 jquery의 .get() 함수는 올바른 종류의 객체를 얻지 못하고 실패합니다.내가 뭘 잘못하고 있는 거지?
한다면value
일반 배열이 아니므로 이러한 코드는 정상적으로 작동합니다.
var value = { "aaa": "111", "bbb": "222", "ccc": "333" };
var blkstr = [];
$.each(value, function(idx2,val2) {
var str = idx2 + ":" + val2;
blkstr.push(str);
});
console.log(blkstr.join(", "));
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
(출력이 개발 콘솔에 표시됨)
펠릭스가 언급했듯이,each()
배열을 반복하고 있을 뿐이지 그 이상은 아닙니다.
어레이에서 문자열로 변환하는 것은 매우 쉽습니다!
var A = ['Sunday','Monday','Tuesday','Wednesday','Thursday']
array = A + ""
이제 A는 끈입니다.:)
사용할 수 있습니다..toString()
배열을 쉼표로 결합합니다.
var array = ['a', 'b', 'c'];
array.toString(); // result: a,b,c
또는 다음과 같이 구분 기호를 설정합니다.array.join('; '); // result: a; b; c
.
이게 당신이 원했던 것인지 확실하지 않지만,
var arr = ["A", "B", "C"];
var arrString = arr.join(", ");
그러면 다음과 같은 출력이 생성됩니다.
A, B, C
배열을 문자열로 변환하는 네 가지 방법.
문자열에 강제 적용
var arr = ['a', 'b', 'c'] + []; // "a,b,c"
var arr = ['a', 'b', 'c'] + ''; // "a,b,c"
콜링
var arr = ['a', 'b', 'c'].toString(); // "a,b,c"
다음을 사용하여 명시적으로 가입
var arr = ['a', 'b', 'c'].join(); // "a,b,c" (Defaults to ',' seperator)
var arr = ['a', 'b', 'c'].join(','); // "a,b,c"
예를 들어, 다른 구분 기호를 사용할 수 있습니다.', '
var arr = ['a', 'b', 'c'].join(', '); // "a, b, c"
사용
배열 내부의 문자열을 따옴표로 묶고 중첩 배열을 적절하게 처리하므로 더 깨끗합니다.
var arr = JSON.stringify(['a', 'b', 'c']); // '["a","b","c"]'
jQuery.each
배열을 반복하고 있을∆ 뿐 반환 값에는 아무런 영향을 주지 않습니다.당신은 찾고 있습니다 (저 또한 생각합니다.get()
jQuery 개체를 다루지 않으므로 필요하지 않습니다.):
var blkstr = $.map(value, function(val,index) {
var str = index + ":" + val;
return str;
}).join(", ");
그런데 왜 이런 경우에 jQuery를 사용합니까?map
요소별로 불필요한 함수 호출만 발생시킵니다.
var values = [];
for(var i = 0, l = value.length; i < l; i++) {
values.push(i + ':' + value[i]);
}
// or if you actually have an object:
for(var id in value) {
if(value.hasOwnProperty(id)) {
values.push(id + ':' + value[id]);
}
}
var blkstr = values.join(', ');
요소를 계속 반복할지 여부에 관계없이 반환 값만 사용합니다.잘못된 값을 반환하면 루프가 중지됩니다.
이것이 제 기능입니다. 객체 또는 배열을 json으로 변환합니다.
function obj2json(_data){
str = '{ ';
first = true;
$.each(_data, function(i, v) {
if(first != true)
str += ",";
else first = false;
if ($.type(v)== 'object' )
str += "'" + i + "':" + obj2arr(v) ;
else if ($.type(v)== 'array')
str += "'" + i + "':" + obj2arr(v) ;
else{
str += "'" + i + "':'" + v + "'";
}
});
return str+= '}';
}
그냥 v0.2로 편집합니다 ^.^
function obj2json(_data){
str = (($.type(_data)== 'array')?'[ ': '{ ');
first = true;
$.each(_data, function(i, v) {
if(first != true)
str += ",";
else first = false;
if ($.type(v)== 'object' )
str += '"' + i + '":' + obj2json(v) ;
else if ($.type(v)== 'array')
str += '"' + i + '":' + obj2json(v) ;
else{
if($.type(_data)== 'array')
str += '"' + v + '"';
else
str += '"' + i + '":"' + v + '"';
}
});
return str+= (($.type(_data)== 'array')? ' ] ':' } ');;
}
var arr = new Array();
var blkstr = $.each([1, 2, 3], function(idx2,val2) {
arr.push(idx2 + ":" + val2);
return arr;
}).join(', ');
console.log(blkstr);
OR
var arr = new Array();
$.each([1, 2, 3], function(idx2,val2) {
arr.push(idx2 + ":" + val2);
});
console.log(arr.join(', '));
일반 자바 스크립트를 사용하려면
const strArr = ['h', 'e', 'l', 'l','o'];
const str = strArr.toString().split(",").join("");
console.log(str);
배열을 URL에 추가할 수 있는 GET 매개 변수 문자열로 변환하는 작업은 다음과 같이 수행할 수 있습니다.
function encodeGet(array){
return getParams = $.map(array , function(val,index) {
var str = index + "=" + escape(val);
return str;
}).join("&");
}
이 함수를 다음과 같이 부릅니다.
var getStr = encodeGet({
search: $('input[name="search"]').val(),
location: $('input[name="location"]').val(),
dod: $('input[name="dod"]').val(),
type: $('input[name="type"]').val()
});
window.location = '/site/search?'+getStr;
그러면 사용자가 /site/search? 페이지로 전달되며 encodingGet에 지정된 배열에 요약된 get 매개 변수가 표시됩니다.
우리는 다음 자바스크립트 방법을 사용하여 이것을 할 수 있습니다.
join을 사용합니다. join을 사용하는 동안 항목과 쉼표 사이에 공간을 제공할 수 있습니다.
toString() 사용: join을 사용하는 경우 항목과 쉼표 사이에 공백이 없어야 합니다.
const array = [1,2,3,4,5]
console.log(array.join(', ')) // '1, 2, 3, 4, 5'
console.log(array.toString()) // '1,2,3,4,5'
다음은 밑줄 함수를 사용하는 예입니다.
var exampleArray = [{name: 'moe', age: 40}, {name: 'larry', age: 50}, {name: 'curly', age: 60}];
var finalArray = _.compact(_.pluck(exampleArray,"name")).join(",");
최종 출력은 "모에, 래리, 컬리"입니다.
배열과 목록을 혼동하면 안 됩니다.
다음은 목록입니다.{...}
길이 또는 다른 배열 속성이 없습니다.
입니다.[...]
함수,할 수 .someArray.toString()
;
someObj.toString();
목록과 같은 다른 개체 유형에서는 작동하지 않습니다.
언급URL : https://stackoverflow.com/questions/5289403/convert-javascript-array-to-string
'programing' 카테고리의 다른 글
물살이.NET SDK는 대상을 지원하지 않습니다.NET Core 3.0 | 3.1 | 5.0 | 6.0 (0) | 2023.08.02 |
---|---|
배열에서 가장 큰 값의 반환 인덱스 (0) | 2023.08.02 |
오버라이드 방법!중요? (0) | 2023.08.02 |
Google 가상화 막대 차트에서 도구 설명(텍스트 및 형식)을 사용자 지정하는 방법 (0) | 2023.08.02 |
"ctx"는 무엇을 의미합니까? (0) | 2023.08.02 |