안녕하세요. 
jQuery 환경에서 아래와 같은 코드를 작성하고 싶은데요!
class User
{
public int Id { get; set; }
public string Name { get; set; }
public string Address { get; set; }
}
...
private void Test
{
var source = new List<User>();
var items = { "0;James;Seoul", "1;Elena;Seoul", "2;David;Seoul" };
foreach (var data in items)
{
source.Add(new User { Id = data.Split(';')[0],
Name = data.Split(';')[1],
Address= data.Split(';')[2] });
}
foreach (var user in source)
{
Console.WriteLine(user.Name);
}
}
어떻게 하면 jQuery 환경 하에서
가능한 쉽고 간단하게 위의 코드를 구현할 수 있을까요?
읽어주셔서 감사합니다.
2개의 좋아요
어떻게 찾아야 할지 몰라 당황했는데;;
아래처럼 해결했습니다. 
혹시라도 저처럼 필요하신 분을 위해 소스코드 남깁니다!
(Javascript와 Python은 서로 유사한 것 같네요?)
function test() {
var items = [];
items.push("Id": "0", "Name": "James", "Address": "Seoul");
items.push("Id": "1", "Name": "Elena", "Address": "Seoul");
items.push("Id": "2", "Name": "David", "Address": "Seoul");
$.each(items), function (index, item) {
alert(item.Name);
});
}
그리고 dictionary를 사용한 부분도 함께 공유드립니다.
function test2(item) {
var dicItems = {};
var key = item.Id + item.Name + item.Address;
if (key in dicItems) {
dicItems[key].push(item);
}
else {
dicItems[key] = [item];
}
}
감사합니다.
3개의 좋아요
일반적으로 javascript 에서 객체를 표현할때는 json 형태로 표시합니다
var items = []; //아이템 배열
items.push({“Id”: “0”, “Name”: “James”, “Address”: “Seoul”}); //배열에 object 추가
items.push({“Id”: “1”, “Name”: “Elena”, “Address”: “Seoul”});
items.push({“Id”: “2”, “Name”: “David”, “Address”: “Seoul”});
//하나의 객체가 필요하다면 배열을 돌아서 해당 값을 찾으면 됩니다.
for(var i=0; i < items.length; i++) {
if (items[i].Id === “1”) {
console.log(items[i]);
}
}
Dictionary 라고 쓰신 부분에 대해서 부연 설명을 드리자면,
Dictionary 와 같은 Key Value 형태는 따로 지원하지 않으나, 위의 객체 형식을 빌려 구성이 가능합니다.
var items = {}; //아이템 object
items[“0”] = {“Id”: “0”, “Name”: “James”, “Address”: “Seoul”};
items[“1”] = {“Id”: “1”, “Name”: “Elena”, “Address”: “Seoul”};
items[“2”] = {“Id”: “2”, “Name”: “David”, “Address”: “Seoul”};
if (“0” in items) { //items 에 "0"이라는 property 가 있다면
}
위 구조에 대해서는 C# 에서 List 를 통해 객체를 만드신 다음에 JsonConvert.SerializeObject로 해당 객체를 Json으로 변환해보시면 이해가 빠르실 겁니다.
3개의 좋아요
안녕하세요. javascript에서도 c#과 같은 Dictionary 형식의 내장객체가 존재합니다.
다만 비교적 최근(?)에 생겼기 때문에 IE11 에서는 정상적으로 동작하지 않을 수 있습니다.
2개의 좋아요
@ddochea 앗 그렇군요. 좋은 내용 감사드립니다.
3개의 좋아요